1

下面的代码在执行代码行后在 IE 8 浏览器中运行时出现 jaavascript 错误window.open('','','width=200,height=100')。新窗口打开,但运行时出现错误“jQuery 未定义”。在这里,我根本不使用 jQuery,但可以肯定的是,我在整个网站上都使用了它。

var newWindow = window.open('','','width=200,height=100')                
newWindow.document.write(someHmtlAsString);
newWindow.document.close();
newWindow.focus();

有没有人建议为什么会这样,或者 IE 中是否有一些错误(IE 的黑客)可以在页面呈现时消除 javascript 错误?

谢谢

4

2 回答 2

0

about:blank如果您想控制它们,您应该将新窗口和 iframe 的来源设置为。

您还想使用newWindow.contentDocument || newWindow.contentWindow.document
它可能是一个好主意,open()在您使用它之前的文档write()

更新:忘记了:如果你打开关于:空白的窗口,它需要时间来加载..
所以你不能一次写!
所以要么检查它是否已加载(onload),然后让它编写源代码(我更喜欢这个)。
或者将超时设置为大约 50 毫秒(通常),然后写入新窗口/iframe。

另请注意,xhtml 不支持document.write

祝你好运!

于 2012-07-30T21:01:40.027 回答
0

看起来someHmtlAsString您插入的内容包含一些<script>尝试使用 jQuery 的标签。检查它的内容,如果是这样,添加标签以加载 jQuery 或更改代码以不使用它。

于 2012-07-30T21:03:07.333 回答