我正在使用Add-on SDK.
开发Firefox附加组件。我正在尝试使用window.opendialog()
打开窗口,但它显示错误为
security error : operation is insecure.
代码:
window.openDialog("http://w3schools.com");
你能帮我解决这个问题。
答案 0 :(得分:0)
window.openDialog()
只能用于特权代码,而不能用于内容脚本。事实是,你不想要使用它 - 这个功能只对基于XUL的对话框有用(它上面的MDN文档非常容易引起误解),这是附加SDK无法实现的。 。对于HTML页面,您应始终使用标准window.open()
方法。
如果确实想要打开对话框,您可以使用the low-level window/utils
module从主要附加代码访问浏览器窗口并以这种方式调用openDialog()
:
var utils = require("sdk/window/utils");
utils.getMostRecentBrowserWindow().openDialog(...);
但是,内容脚本无法做到这一点 - 它必须向扩展程序发送消息并“询问”它是否运行该代码。