我想更改iframe中页面的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() {
var text = document.getElementById("text").value;
var html = $("#iframe_id").contents().find("html").html();
html = html.replace(/---someText---/mg, text);
$("#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() {
alert("---someText---");
}
</script>
</head>
<body>
<div>Text is: ---someText---</div>
<input type="button" value="Test Me!" onclick="test();" />
</body>
</html>
我想用来自index.html的文本替换iframe.html的警告消息 只是更换它不起作用。 有工作吗?
答案 0 :(得分:0)
您可以使用会话,cookie或窗口对象或localStorage来获取和设置值,我认为这是解决问题的最简单方法
index.html中的设置localStorage或window.sessionStorage变量来保存你的文字:
var text = document.getElementById("text").value;
localStorage.setItem("myItem",text)
iframe.html中的获取该变量的值
alert(localStorage.getItem("myItem"));
或
alert(window.sessionStorage.getItem("myItem"));