2017-08-30 8 views
1

私は現在のウィンドウのすべてのタブをつかみ、それらをループしようとしています。私はマニフェストで 'タブ' の権限を持ってchrome.tabs.query(オブジェクト)が定義と一致しません

chrome.tabs.query({currentWindow: true}, function(result) { 
    result.forEach(function(tab) { 
     do stuff here; 
    }); 
}); 

は、現在のコードを使用して。

それがエラーを投げている:「エラー:フォームのtabs.queryの呼び出し(オブジェクト)で(queryInfo、関数コールバックオブジェクト)の定義tabs.queryと一致していません...」

私はのように混乱しています私は明らかにオブジェクトとコールバック関数を持っています。私はまた別の場所で、代わりに約束してやることができます。

var query = chrome.tabs.query({currentWindow: true}); 
query.then(function(tabs) { 
    tabs.forEach(function(tab) { 
     do stuff here; 
    }); 
}); 

しかし、これは同じエラーをスローします。何か案は? Mozillaのhas a polyfillかかわらず、あなたがそれを好む場合は、ネイティブのAPIのための約束を提供していない代わりにchrome.*

クロームのbrowser.*名前空間を使用した場合

答えて

3

約束ベースのアプローチは、Firefoxでのみ有効です。

あなたの最初のスニペットは正しいので、このエラーは発生しません。 tabs.queryのすべての呼び出しを確認し、変更内容が適用されるように適切に拡張子をリロードしてください。

+0

ありがとうございます、なぜ私はエラーが表示されていたのか分かりません。 –

関連する問題