【发布时间】:2012-10-21 09:41:42
【问题描述】:
这个函数有一个类似function(array of any result) {...};的回调
但我不知道结果是什么意思。
例如,
chrome.tabs..executeScript(null,
{code:"var x = 10"},
function(){});
如何将x返回给回调?
【问题讨论】:
这个函数有一个类似function(array of any result) {...};的回调
但我不知道结果是什么意思。
例如,
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] 记录到扩展程序的控制台。
results 实际上是一个值数组,因为如果页面有多个框架,您可以指定脚本应该被注入每个框架并获取所有注入的结果。请参阅executeScript 的规范。如果不指定 allFrames: true,则 results 将始终为单元素数组。
【讨论】:
chrome.tabs.executeScript( null, {code:"var x = 10; x"}, function(results){ alert(results); } );,但未定义为警报。您知道为什么会发生这种情况吗?
manifest.json 的 permissions 设置中