下面的代码在执行window.open('','','width=200,height=100')代码行后,在IE 8浏览器中运行时出现jaavascript错误。新窗口打开,但运行时出现错误"jQuery is undefined“。在这里,我根本不使用jQuery,但可以肯定的是,我在整个站点中都使用它。
var newWindow = window.open('','','width=200,height=100')
newWindow.document.write(someHmtlAsString);
newWindow.document.close();
newWindow.focus();有没有人建议为什么会这样,或者IE中有一些bug (针对IE的hack)可以在页面渲染时消除javascript错误?
谢谢
发布于 2012-07-31 05:01:40
如果你想控制新窗口和iframe,你应该将它们的源设置为about:blank。
您还希望使用newWindow.contentDocument || newWindow.contentWindow.document
在对文档执行write()操作之前,先对文档执行open()操作可能是个好主意。
更新:忘记了这一点:如果您打开窗口关于:空白,它需要时间来加载。
所以你不能一次写入它!!
因此,要么检查它是否已加载(onload),然后让它写源代码(我更喜欢这样)。
或者将超时设置为大约50ms (通常),然后写入新的窗口/iframe。
还要注意,xhtml不支持document.write!!
祝好运!
发布于 2012-07-31 05:03:07
看起来您插入的someHmtlAsString包含一些试图使用jQuery的<script>标记。检查它的内容,如果是这样的话,添加标签来加载jQuery,或者更改代码以不使用它。
https://stackoverflow.com/questions/11729455
复制相似问题