我正在开发一个 Firefox 插件,Add-on SDK.
我正在尝试使用它打开窗口window.opendialog()
,但它显示错误为
security error : operation is insecure.
代码:
window.openDialog("http://w3schools.com");
你能帮我解决这个问题吗?
问问题
364 次
1 回答
0
window.openDialog()
只能从特权代码使用,不能从内容脚本中使用。事实是,您不想使用它 - 此功能仅对基于 XUL 的对话框有用(关于它的 MDN 文档非常具有误导性),这是附加 SDK 无法提供的。但是,对于 HTML 页面,您应该始终使用标准window.open()
方法。
如果您真的想打开对话框,您可以使用低级window/utils
模块从您的主要附加代码访问浏览器窗口并以openDialog()
这种方式调用:
var utils = require("sdk/window/utils");
utils.getMostRecentBrowserWindow().openDialog(...);
尽管如此,内容脚本不能做到这一点——它必须向扩展发送消息并“要求”它运行该代码。
于 2013-10-27T08:27:54.810 回答