引用错误:未定义块

ReferenceError: chunks is not defined

本文关键字:未定义 错误 引用      更新时间:2023-09-26

以下代码试图将某些代码插入 iFrame(与页面位于同一服务器上)。我收到一个引用错误:块未定义错误。有人可以帮我弄清楚为什么吗?我已经把头放在这个上面一天了。

<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>
<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

:)

问题是 iFrame 的范围与原始文档不同,这可能会有所帮助: 将 javascript 值传递到 iframe 标签中

当您声明它时,我还会将块设置为空字符串......

var chunks = "";
document.getElementById("preview-iframe").contentWindow.document.write(chunks);​

应该工作。正如 Rob W 所说,iframe 与您的页面不共享相同的范围。