このコードは、ユーザーが表示しているページの現在のタブオブジェクトをコンソールに出力することを目的としていますが、未定義を出力するだけです。ブラウザアクションページ内から実行されます。
chrome.tabs.getCurrent( function(tab){
console.log(tab);
} );
私は documentation を見てきましたが、私の知る限り、コードはそれが言うことと一致しているようです。
試してください:
chrome.tabs.getSelected(null, function(tab){
console.log(tab);
});
メソッドgetSelected()
は、Google Chrome 16(しかし、公式ドキュメントの多くの記事はまだ更新されていませんでした)以降廃止されました。) 公式メッセージはこちら 。指定されたウィンドウで選択されているタブを取得するには、引数$ {'active': true}
_を指定してchrome.tabs.query()
を使用します。これで、次のようになります。
_chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
console.log(tabs[0]);
});
_
非タブコンテキスト(たとえば、背景ページやポップアップビュー)から呼び出された場合、未定義になる可能性があります。
このコードはbg.js
ではなくcs.js
で使用する必要があるようです。