gpt4 book ai didi

javascript - Firefox 附加组件 sdk : how to use simple-storage API in a content script?

转载 作者:行者123 更新时间:2023-11-29 15:42:30 25 4
gpt4 key购买 nike

我正在使用 toolbar button 制作一个 Firefox 插件由 Erik Vold 撰写,我想知道如何在内容脚本中访问简单存储 API。我知道您不能直接访问 API。

var data = require('self').data;
var tabs = require('tabs');
var pageMod = require('page-mod');
var ss = require('sdk/simple-storage');

var tbb = require('toolbarbutton').ToolbarButton({
id: 'button',
label: 'us-button',
image: data.url('img/on.png'),
onCommand: function () {

tabs.activeTab.attach ({

contentScriptFile: [
data.url('jquery/jquery.min.js'),
data.url('jquery/jquery-ui.js'),
data.url('recuperation.js'),
data.url('dialog.js')
],
contentScriptOptions: {
imgfr: data.url('img/fr.png'),
imgen: data.url('img/en.png'),
imglogo: data.url('img/logo.png')
}
});
}
});

我的问题是:如何在我的内容脚本 dialog.js 中访问简单存储 API

最佳答案

tabs.activeTab.attach (...) 返回一个 worker,您可以使用它在内容脚本和插件之间发送消息。有了这个,您可以让内容脚本向插件发送消息,说明要在简单存储中存储哪些数据。

所以插件端看起来像:

let worker = tabs.activeTab.attach(...);
worker.port.on('simple-storage', function(newData) {
ss.storage = newData;
});

内容脚本端看起来像:

self.port.emit('simple-storage', newData)

当您有 newData 要保存时。

关于javascript - Firefox 附加组件 sdk : how to use simple-storage API in a content script?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17047587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com