这种情况发生在所有浏览器中,因此必须有原因。
示例:
<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'))不会执行。为什么呢?
答案 0 :(得分:9)
因为您正在将破碎的HTML写入文档中 - 所以没有&gt;在iframe标签上。
答案 1 :(得分:9)
您在文档中写入的HTML无效,导致浏览器无法解释文档的其余部分,包括剩余的<script>
标记。
您正在撰写<iframe src="http://google.com/support/
。添加"></iframe>
即可。
但是,更简洁的方法是不要使用document.write
(假设你有一些id =“container”的HTML元素来保存iframe):
var iframe = document.createElement('iframe');
iframe.setAttribute("src", "http://google.com/support/");
document.getElementById("container").appendChild(iframe);
答案 2 :(得分:2)
您需要关闭报价和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>
答案 3 :(得分:0)
此代码正常,工作正常。您可以在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>
或者您可以通过HTML Editor And Previewer
在线查看