以下代码尝试将某些代码损坏到iFrame中(与页面位于同一服务器上)。我收到 ReferenceError:未定义块错误。有人可以帮我找出原因吗?我现在一直在为这一天停下头脑。
<iframe id="preview-iframe"></iframe>
<script language="JavaScript" type="text/javascript">
var chunks;
chunks += "<span class=\"bold";
chunks += "\">Hello World!</";
chunks += "span>";
document.getElementById("preview-iframe").src="javascript:void(document.write(chunks))";
</script>
答案 0 :(得分:1)
<iframe id="prev-frame"></iframe>
<script language="JavaScript" type="text/javascript">
var chunks = '';
chunks += "<span class=\"bold";
chunks += "\">Hello World!</";
chunks += "span>";
document.getElementById("prev-frame").src="javascript:void(document.write('" + chunks + "'))";
</script>
您需要连接'" + chunks + "'
,以便不按字面解释。此外,iframe
是保留字,因此我重命名了框架上的id
。
:)
答案 1 :(得分:0)
问题是iFrame的范围与原始文档不同,这可能有所帮助:passing in javascript values into iframe tag
当你声明它时,我还会将块设置为空字符串......
var chunks = "";
答案 2 :(得分:0)
document.getElementById("preview-iframe").contentWindow.document.write(chunks);
应该有效。正如Rob W所说,iframe的页面范围与页面不同。