如何从Chrome插件,tabs.executeScript返回多个元素的值。
请在下面的代码中提出建议。
chrome.tabs.executeScript(
targetTab.id,
{
code: "var header = {'top':document.getElementsByClassName('top-card')[0].innerHTML;}"
},
function (sourceCode)
{
myCode = sourceCode;
chrome.tabs.create({'url': chrome.extension.getURL('popup.html')});
}
);
就像在这里一样,我获得了“顶级名片”的价值,我也希望“足球”的价值,“内容”更多的等级。
答案 0 :(得分:0)
chrome.tabs.executeScript
可以传输任何可以使用JSON的数据,包括简单的对象/数组。
chrome.tabs.executeScript(targetTab.id, {
code: '(' + function() {
return {
top: document.querySelector('.top-card').innerHTML,
footer: document.querySelector('.footer').innerHTML,
content: document.querySelector('.content').innerHTML,
};
} + ')()'
}, function(data) {
var myCode = data[0]; // data is an array, item 0 is the main page, 1.. for frames
console.log(myCode.top, myCode.footer);
});