Chrome扩展程序复制并粘贴

时间:2016-04-27 14:33:28

标签: javascript google-chrome google-chrome-extension

所以我正在构建一个私有的chrome扩展。 我有两个按钮popup.html,一个是复制,另一个是粘贴。

逻辑是这样的:

  1. 在弹出窗口中按复制按钮,然后复制一些表单数据
  2. 转到其他网站并按粘贴并以其他形式注入
  3. 所以我使用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'));
    })
    

1 个答案:

答案 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存储库。