2012-08-09 131 views
1

以下代码尝试将一些代码注入iFrame(与页面位于同一服务器上)。我得到一个ReferenceError:块没有定义错误。有人能帮我弄清楚为什么请吗?现在我一直在为这一天耿耿于怀。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> 

回答

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> 

您需要concatanate '" + chunks + "'所以它不是从字面上解释。另外,iframe是保留字,所以我在框架上重命名为id

:)

+0

brillinat,谢谢。正常工作。 – 2012-08-09 08:57:45

+0

这就是为什么我喜欢stackoverflow这么多! – 2012-08-09 08:58:01

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

应该工作。正如Rob W所说,iframe与你的页面不一样。