Google chrome extension 关于chrome.tabs.executeScript(id、详细信息、回调)
这个函数有一个回调函数,类似于Google chrome extension 关于chrome.tabs.executeScript(id、详细信息、回调),google-chrome-extension,Google Chrome Extension,这个函数有一个回调函数,类似于函数(任意结果的数组){…} 但我不知道结果意味着什么 比如说, chrome.tabs..executeScript(null, {code:"var x = 10"}, function(){}); 如何将x返回回调?脚本的结果是最后一个被计算的表达式。因此,在您的示例中,您可以使用: chrome.tabs.executeScript( null, {code:"var x = 10; x"}, function(results){ con
函数(任意结果的数组){…}代码>
但我不知道结果意味着什么
比如说,
chrome.tabs..executeScript(null,
{code:"var x = 10"},
function(){});
如何将x
返回回调?脚本的结果是最后一个被计算的表达式。因此,在您的示例中,您可以使用:
chrome.tabs.executeScript( null, {code:"var x = 10; x"},
function(results){ console.log(results); } );
这将把[10]记录到扩展的控制台
结果实际上是一个值数组,因为如果页面有多个帧,则可以指定脚本应注入其中的每一帧,并获得所有注入的结果。有关详细信息,请参见规范。如果您没有指定allFrames:true,那么结果将始终是一个单元素数组。看看。我有这个chrome.tabs.executeScript(null,{code:“var x=10;x”},函数(结果){alert(results);})代码>但未定义为警报。您知道为什么会发生这种情况吗?@user1032613如果您的扩展没有权限在当前选项卡上执行脚本,就会发生这种情况。确保域包含在您的manifest.json的权限设置中,谢谢!我刚刚意识到,对manifest.json所做的修改只有在我重新安装扩展后才会生效。@user1032613您可以通过在中打开开发人员模式来重新加载扩展chrome://extensions. 或者按ctrl键,注意如果代码抛出错误,结果也将为null。