Javascript 保存输入字段扩展名

Javascript 保存输入字段扩展名,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我需要创建一个有两个按钮的扩展:复制和粘贴。 复制按钮将选择页面上文本输入和文本区域的内容,并将其保存在存储模块中。 “粘贴”按钮将保存的文本粘贴到具有相同ID的输入和文本区域内的另一页上 我设法使用本地sotrage使其正常工作,但它只将内容保存在同一个域上。我曾尝试使用chrome.storage模块来存储和检索数据;我无法使它发挥作用 你能告诉我解决这个问题的最佳方法是什么吗 更新: 扩建工程可行,但有一点不便: chrome.extension.onMessage.addListener

我需要创建一个有两个按钮的扩展:复制和粘贴。 复制按钮将选择页面上文本输入和文本区域的内容,并将其保存在存储模块中。 “粘贴”按钮将保存的文本粘贴到具有相同ID的输入和文本区域内的另一页上

我设法使用本地sotrage使其正常工作,但它只将内容保存在同一个域上。我曾尝试使用chrome.storage模块来存储和检索数据;我无法使它发挥作用

你能告诉我解决这个问题的最佳方法是什么吗

更新: 扩建工程可行,但有一点不便:

chrome.extension.onMessage.addListener(
    function(request, sender, sendResponse) {      
        storage.get('form_data', function(item) {
            sendResponse(item);
        });   
    }
});
这返回一个错误:无法发送响应:如果要在侦听器返回后发送响应,则chrome.extension.onMessage侦听器必须返回true


这是可行的,但我必须调用该函数两次(单击“粘贴”按钮),我猜第一次调用返回未定义的数据,然后获取数据,第二次调用返回存储值。

我用以下代码解决了这个问题:

chrome.extension.onMessage.addListener(
  function(request, sender, sendResponse) {
    if (request['request_type'] === 'copy') {
      storage.clear();
      storage.set({'form_data' : request['form_data']});
    } else if (request['request_type'] === 'paste') {
        storage.get('form_data', function(item) {
          chrome.tabs.getSelected(null, function(tab) {
            chrome.tabs.sendMessage(tab.id, item['form_data']);
          });
        });
      }
});

我用以下代码解决了这个问题:

chrome.extension.onMessage.addListener(
  function(request, sender, sendResponse) {
    if (request['request_type'] === 'copy') {
      storage.clear();
      storage.set({'form_data' : request['form_data']});
    } else if (request['request_type'] === 'paste') {
        storage.get('form_data', function(item) {
          chrome.tabs.getSelected(null, function(tab) {
            chrome.tabs.sendMessage(tab.id, item['form_data']);
          });
        });
      }
});

使用背景页面,并将内容脚本中的消息传递给使用
chrome.storage
。您能否举例说明传递消息和选择页面上的表单。请阅读并阅读。遇到问题时返回。使用背景页面,并将内容脚本中的消息传递给使用
chrome.storage
。您能否举例说明传递消息和选择页面上的表单。请阅读并选择。当你被困住的时候回来。