Google chrome extension 后台内容脚本中未定义的数据

Google chrome extension 后台内容脚本中未定义的数据,google-chrome-extension,Google Chrome Extension,我正在尝试从内容脚本传递数据: var text = document.getElementsByClassName("some_class"); chrome.runtime.sendMessage({key: "abc", data: results}, function(response){}); chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) { if (message.k

我正在尝试从内容脚本传递数据:

var text = document.getElementsByClassName("some_class");
chrome.runtime.sendMessage({key: "abc", data: results}, function(response){});
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
    if (message.key == "abc") {
        var a = message.data;
        var b = message.data.innerText;
        for (var i = 0; i < message.data.length; i++) {
            var c = a[i].innerText;
        }   
然后在背景中接收它:

var text = document.getElementsByClassName("some_class");
chrome.runtime.sendMessage({key: "abc", data: results}, function(response){});
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
    if (message.key == "abc") {
        var a = message.data;
        var b = message.data.innerText;
        for (var i = 0; i < message.data.length; i++) {
            var c = a[i].innerText;
        }   
chrome.runtime.onMessage.addListener(函数(消息、发送方、发送响应){
如果(message.key==“abc”){
var a=message.data;
var b=message.data.innerText;
对于(var i=0;i
我在所有变量中都得到了
未定义的
。我所要做的就是将我从页面获得的集合传递到后台并在那里进行处理。我做错了什么

var text = document.getElementsByClassName("some_class"); chrome.runtime.sendMessage({key: "abc", data: results}, function(response){}); var text=document.getElementsByClassName(“某些类”); sendMessage({key:abc],数据:results},函数(response){});
text
vs
results

但即使这样,也不能传递DOM节点,因为它们不是JSON序列化的

您需要在内容脚本端提取信息,并只传递您需要的信息(即,如果您只需要
innerText
,则传递该信息而不是节点)