chrome.tabs.executeScript的返回值
问题描述:
在popup.js中,我使用以下代码显示当前选项卡的某个div ID内的所有文本 - 并显示在警报中。我想知道如何将div文本保存到popup.js中的变量中?chrome.tabs.executeScript的返回值
chrome.tabs.executeScript(null,code:"alert(document.getElementById(\"DIVid\").innerText.split(' '))"});
以上工作正常,但是当我尝试这样的:存储
var getText = chrome.tabs.executeScript(null,code:"document.getElementById(\"DIVid\").innerText.split(' ')"});
或
var getText = chrome.tabs.executeScript(null,code:"document.getElementById(\"DIVid\").innerText.split(' ')"},function(response){return response});
没有。我显然会以这种错误的方式去做。我究竟做错了什么?
答
使用下面的代码,
var getText = Array();
chrome.tabs.executeScript(tabs[tab].id, {
"code": "document.getElementById(\"_Your_ID_Here_\").innerText.split(' ')"
}, function (result) {
for (i = 0; i < result[0].length; i++)
getText [i] = result[0][i];
console.log(getText);
});
你里面回调更新变量,因为chrome.api
的异步性质