在window.open('','','width=200,height=100')
代码行执行后,以下代码在IE 8浏览器中运行jaavascript错误。新窗口打开但运行时出现错误“jQuery未定义”。在这里我根本不使用jQuery,但当然,我在整个网站上使用它。
var newWindow = window.open('','','width=200,height=100')
newWindow.document.write(someHmtlAsString);
newWindow.document.close();
newWindow.focus();
有没有人建议为什么会这样,或者IE中有一些错误(IE浏览器)会在页面渲染时消除javascript错误?
由于
答案 0 :(得分:0)
如果你想控制它们,你应该将新窗口和iframe的来源设置为about:blank
。
您还想使用newWindow.contentDocument || newWindow.contentWindow.document
在您open()
之前write()
文档可能是个好主意。
更新:忘记了这个:
如果您打开窗口:空白,则需要时间加载..
所以你不能马上写信!
因此要么检查它是否已加载(onload),然后让它写入源(我更喜欢这个)
或者设置约50ms(通常)的超时,然后写入新窗口/ iframe。
另请注意,xhtml不支持document.write
!!
答案 1 :(得分:0)
您插入的someHmtlAsString
包含一些尝试使用jQuery的<script>
标记。检查其内容,如果是这种情况,添加标记以加载jQuery或更改代码不使用它。