我遇到了仅在 Opera(版本 11.5)中出现的 window.open 问题。
function openpageopera()
{
var w = window.open("","_blank");
try
{
w.document.write("<p>hello</p>world");
w.document.close();
}
catch(err)
{
alert("error:" + err);
}
}
现在,当我在页面加载后执行此功能时,它可以完美运行,因此:
$(document).ready(function() {
openpageopera();
});
如果我从我的网络服务器打开像 google、yahoo 或什至网页这样的 URL,它也可以工作。
但是,当我将它附加到 onclick 事件(例如 HTML 按钮上)时,它会失败。
<input type="button" value="Fails" onclick="openpageopera();">
具体是什么失败?好吧,页面确实打开了,但它是空白的。document.write 不工作。捕获记录了以下错误:
错误:ReferenceError:安全错误:试图读取受保护的变量:写入
我不明白为什么在 html 按钮上执行此操作会引发安全错误。为什么会发生这种情况,我该如何解决?
非常感谢您的帮助!