我正在使用创建我的插件。我使用简单prefs作为选项,但是当用户单击Firefox管理器中的"Settings“按钮时,如何打开自定义页面?
谢谢你的帮助!
发布于 2014-01-07 12:54:11
据我所知,你不能。如果你有一些首选项不能用简单的-prefs系统来表示,你可以在你的加载项的首选项中添加一个按钮,这个按钮可以在一个新的选项卡或窗口中打开一个自定义页面。参见control类型:https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/simple-prefs.html
我的建议是,在可能的时候坚持使用简单的prefs,因为它们在计算机和设备之间使用Firefox进行同步。
发布于 2016-01-17 01:36:13
如何从加载项管理器中打开自定义页面定向
实际上,你完全可以做你想做的事。当您单击Addon中的Options Button时,这将打开您的addon的prefs页面--它取代了打开addon's about页面的操作。
这个解决方案的功劳归于诺伊蒂达特。
这是一个没有javascript的解决方案,信不信由你。医生来了。你必须在你的install.rdf中做两件事
<em:optionsURL>resource://myAddonID/data/my.html</em:optionsURL><em:optionsType>3</em:optionsType>Noitidart实际上创建了一个示例插件来说明这一点。除了执行所有工作的install.rdf中的这两行代码外,代码都是空的。
Firefox为您完成了所有的选项卡处理。
顺便提一句,有三种选择 for <em:optionsType>
1在对话框中打开optionsURL2选项显示在外接程序管理器中。3在新选项卡(如果应用程序支持该选项卡)或对话框中打开optionsURL如何从加载项管理器中打开自定义页面
此外,在简单的文档-prefs中,在底部有您在package.json中作为首选项放置的control,就像所有其他put一样(所有这些信息都直接来自该页面):
当用户单击该按钮时,将调用侦听此首选项的on()函数。 这种类型需要一个名为"label“的强制属性,该属性作为字符串提供。它被用来给按钮贴上标签。
因此,您的代码(作为prefs以及json文件中的preferences对象中的其他部分)使该按钮出现在addon区域如下所示:
{
"type": "control",
"label": "Click me!",
"name": "sayHello",
"title": "Say Hello"
}在您的main.js中,这样做可以让它打开一个自定义页面(这将在您的data目录中;或者您可以在这里使用常规的网页地址):
var data = require("sdk/self").data;
var sp = require("sdk/simple-prefs");
sp.on("sayHello", function() {
tabs.open( data.url("myCustomPage.html") ); //<======The KEY
});请记住,"name"是“消息”的名称,在package.json文件和main.js文件中都需要相同的名称。
试试看!这是非常容易,它的工作非常好!
https://stackoverflow.com/questions/20945645
复制相似问题