这种情况在所有浏览器中都会发生,所以一定是有原因的。
例子:
<html>
<body>
<script>var a="support/";
var aa='<iframe src="http://google.com/' + a + '" />';
document.write(aa)</script>
<script>alert('test')</script>
</body>
</html>
iframe 写入后的代码(在本例中为 alert('test'))不执行。为什么?
这种情况在所有浏览器中都会发生,所以一定是有原因的。
例子:
<html>
<body>
<script>var a="support/";
var aa='<iframe src="http://google.com/' + a + '" />';
document.write(aa)</script>
<script>alert('test')</script>
</body>
</html>
iframe 写入后的代码(在本例中为 alert('test'))不执行。为什么?
因为您正在将损坏的 HTML 写入文档—— iframe 标记上没有 >。
您写入文档的 HTML 无效,并导致浏览器无法解释文档的其余部分,包括剩余的<script>标签。
你在写<iframe src="http://google.com/support/。添加"></iframe>就OK了。
但是,更简洁的方法是根本不使用document.write(假设您有一些带有 id="container" 的 HTML 元素来保存 iframe):
var iframe = document.createElement('iframe');
iframe.setAttribute("src", "http://google.com/support/");
document.getElementById("container").appendChild(iframe);
您需要关闭报价和 iframe。这有效:
<html>
<body>
<script>var a="support/";
var aa='<iframe src="http://google.com/' + a + '" />';
document.write(aa)</script>
<script>alert('test')</script>
</body>
</html>
这段代码没问题,工作正常。您可以在JSFiddle Live DEMO上查看。休息一下,你可以用你的数据编辑它..
<script type="text/javascript">
var write_variable="p/about.html";
var write_iframe='<iframe src="http://www.exeideas.com/' + write_variable + '" />';
document.write(write_iframe);
</script>