Chrome 扩展程序复制和粘贴

Chrome extension copy and paste

本文关键字:复制 扩展 程序 Chrome      更新时间:2023-09-26

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

逻辑是这样的:

  1. 按弹出窗口中的复制按钮,然后复制一些表单数据
  2. 转到其他网站,然后按粘贴并以其他形式注入

所以我使用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);
});

如果您不想看到工作示例,可以查看此 GitHub 存储库。