1

以下代码尝试将一些代码注入 iFrame(与页面位于同一服务器上)。我收到ReferenceError: chunks is not defined错误。有人可以帮我弄清楚为什么吗?我已经在这个问题上禁止了一天。

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

3 回答 3

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了框架上的。

:)

于 2012-08-09T08:46:53.863 回答
0
document.getElementById("preview-iframe").contentWindow.document.write(chunks);​

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

于 2012-08-09T08:48:54.847 回答
0

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

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

var chunks = "";
于 2012-08-09T08:41:32.167 回答