我想更改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