35

この関数には次のようなコールバックがありますfunction(array of any result) {...};

しかし、結果が何を意味するのかわかりません。

例えば、

chrome.tabs..executeScript(null,
   {code:"var x = 10"},
   function(){});

をコールバックに戻す方法はx?

4

1 に答える 1

57

スクリプトの結果は、評価される最後の式です。したがって、あなたの例では、次のものを使用できます。

chrome.tabs.executeScript( null, {code:"var x = 10; x"},
   function(results){ console.log(results); } );

これにより、拡張機能のコンソールに[10]が記録されます。

結果は実際には値の配列です。ページに複数のフレームがある場合は、スクリプトを各フレームに挿入して、すべての挿入の結果を取得するように指定できるためです。executeScriptの仕様を参照してください。allFrames:trueを指定しない場合、結果は常に単一要素配列になります。

于 2012-11-01T08:18:22.360 に答える