我想更改iframe中页面的JavaScript。 (我没有跨域问题)动态更改javascript
说我有两个HTML文件:
的index.html
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
function change() {
\t var text = document.getElementById("text").value;
\t
\t var html = $("#iframe_id").contents().find("html").html();
\t html = html.replace(/---someText---/mg, text);
\t $("#iframe_id").contents().find("html").html(html);
}
</script>
</head>
<body>
Dynamic Alert Text: <input type="text" id="text" value="" />
<input type="button" value="Change Iframe" onclick="change()" />
<br><br>
<iframe src="iframe.html" id="iframe_id" width="500" height="400"></iframe>
</body>
</html>
和Iframe.html的
<html>
<head>
<script>
function test() {
\t alert("---someText---");
}
</script>
</head>
<body>
<div>Text is: ---someText---</div>
<input type="button" value="Test Me!" onclick="test();" />
</body>
</html>
我想将iframe.html的警报消息替换为我从index.html获得的文本 只需更换它就行不通。 有没有解决办法。
不是预先存在iframe,而是使用javascript代替编辑它,然后将其放入DOM中生成带有您的数据的iframe – Asheliahut 2015-02-12 05:14:57
当用户更改输入并点击“更改“再次按钮。 – marvin 2015-02-12 05:18:16
然后在更改按钮上再次销毁DOM中的iframe并重新创建。您不能编辑iframe中的任何内容,这会在安全性方面造成巨大的问题。尽管下面的答案使用了一个很好的解决方法。这与将信息存储在服务器上并使iframe能够在客户端上除外相同。 – Asheliahut 2015-02-12 05:21:24