如何在Chrome扩展程序中的contentscript和background.html之间传递数据

时间:2012-02-10 17:14:28

标签: javascript google-chrome-extension

我将数据从内容脚本传递到下面代码中的background.html,但由于某些原因它对我不起作用。这就是代码..

Contentscript.js

    var a1 ="Shan";
    chrome.extension.sendRequest({method:"text",txt:a1}, function(response) {
      d=response.data;
      alert(d);
    });

background.html

   if(request.method == "text")
   {
       sendResponse({data:request.key});
   } 
   else
   {
     sendResponse({data:request.key});
   }    

我的问题是为什么我无法将变量“a1”传递给background.html?是否无法完成?

1 个答案:

答案 0 :(得分:1)

因为密钥的名称为txt,而不是key

chrome.extension.sendRequest({method:"text",txt:a1}
                                            ^^^ Your definition: txt

 sendResponse({data:request.key});
                            ^^^ Should be txt as well

警告:我经历过您无法回收sendResponse方法。触发sendResponse后,分机将不会响应未来的sendResponse来电 因此,每个sendResponse只有一个chrome.extension.sendRequest