我试图从内容脚本传递数据:
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;
}
我在所有变量中得到undefined
。我想要做的就是将从页面到背景的集合传递给背景并在那里处理它。我做错了什么?
答案 0 :(得分:0)
var text = document.getElementsByClassName("some_class"); chrome.runtime.sendMessage({key: "abc", data: results}, function(response){});
text
vs results
但即便如此,你也无法传递DOM节点,因为它们不是JSON可序列化的。
您需要在内容脚本方面提取信息并仅传递您需要的信息(即,如果您只需要innerText
,则传递该信息而不传递该节点)