动态更改javascript

时间:2015-02-12 04:57:10

标签: javascript html iframe

我想更改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的警告消息 只是更换它不起作用。 有工作吗?

1 个答案:

答案 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"));