Chrome扩展复制和粘贴
所以我正在构建一个私有扩展。 我有popup.html
两个按钮,一个是复制,另一个是粘贴。Chrome扩展复制和粘贴
的逻辑是这样的:
- 按复印键弹出式按钮,并
- 转到复制某种形式的数据到其他网站,按粘贴和其他形式
所以注入我使用chrome.extension.sendMessage
来检测点击弹出按钮并收听消息chrome.extension.onMessage.addListener
我在哪里切换什么动作被触发执行一些脚本。
事情是,我可以得到的信息,我知道如何注入,但我不知道在哪里保存它,所以我可以在不同的选项卡中使用它。
有没有人有一些想法?
function dispatch(action) {
return function() {
chrome.extension.sendMessage({directive: action}, function(response) {
this.close();
});
}
}
document.addEventListener('DOMContentLoaded', function() {
copy = document.getElementById('copy');
paste = document.getElementById('paste');
copy.addEventListener('click', dispatch('COPY'));
paste.addEventListener('click', dispatch('PASTE'));
})
您可以使用本地存储来存储所需的值,粘贴并再次删除。
可以使用存储值在本地存储:
chrome.storage.local.set({ 'KEY': 'VALUE' }, function(){});
而且你可以从存储使用检索:
chrome.storage.local.get('KEY', function(items) {
//use the retrieved data with items.KEY
});
而在manifest.json
您需要添加以下行:
"permissions": ["storage"]
例如,如果我使用的密钥是'SNT',我使用:
chrome.storage.local.set({ 'SNT': 'VALUE' }, function(){});
我找回它使用:
chrome.storage.local.get('SNT', function(items) {
$("#divID").text(items.SNT);
});
如果你wan't看到一个工作示例,您可以检查this GitHub的仓库。
感谢兄弟,我想使用localStorage,但多数民众赞成只是为选项卡,didint知道chrome.storage – Hiero
@Hiero你甚至可以设置存储跨设备同步:) – rafaelcpalmeida
我不知道为什么当我复制我recive一些像innerHTML这样的错误是未定义的,发生在你之前? – Hiero
请注意'chrome.extension。*'消息传递函数已弃用:使用'chrome.runtime.sendMessage' /'onMessage'。 – Xan