所以我正在构建一个私有的chrome扩展。
我有两个按钮popup.html
,一个是复制,另一个是粘贴。
逻辑是这样的:
所以我使用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'));
})
答案 0 :(得分:2)
您可以使用本地存储来存储所需的值,将其粘贴然后再将其删除。
您可以使用以下方法将值存储在本地存储中:
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);
});
如果您不想看到一个有效的示例,可以查看this GitHub存储库。