【发布时间】:2014-08-01 11:58:29
【问题描述】:
关于
我正在使用 Firefox 插件 SDK 开发 Firefox 插件。该插件将是特定于站点的,它将根据用户偏好隐藏某些元素。
几年前我已经制作了这个插件,但使用新的 SDK 时,情况会有所不同。
代码
因为插件是特定于站点的,我需要修改站点的内容,所以我使用了“PageMod”模块
[main.js]
pageMod.PageMod({
include: "*.ipvisie.com",
contentScriptFile: [
data.url('jquery-1.11.1.min.js'),
data.url('script.js')
]
});
这很好用,jQuery 已实现,我可以从 script.js 添加和运行 javascript
我已经在 'package.json' 中声明了首选项,这很好用。我可以从 'main.js'
访问它问题
我的问题是 ContentScript 无权访问用户首选项。
如何访问我的 ContentScript 'script.js' 中的当前首选项?
尝试尝试
尝试 1
我尝试的第一件事就是向 ContentScript 请求首选项
if (require('sdk/simple-prefs').prefs['somePreference'] == true) {
alert('Pref checked');
}
尝试 2
我在文档中读到,可以使用 ContentScript 发送一些只读参数。这似乎可行,但是当我更改偏好时,值已经设置好了。只有重新启动浏览器才能通过正确的设置。
contentScriptOptions: {
advertLink: require('sdk/simple-prefs').prefs['advertTop'],
advertDay: require('sdk/simple-prefs').prefs['advertDay'],
advertAdmart: require('sdk/simple-prefs').prefs['advertAdmart'],
advertLink: require('sdk/simple-prefs').prefs['advertLink']
}
【问题讨论】:
标签: javascript firefox-addon firefox-addon-sdk