2011-01-06 72 views
5

Chrome拡張機能を作成しています。拡張の一部として、拡張機能が呼び出されたタブのURLを取得したいとします。Chromeタブの拡張機能:getCurrentとgetSelected?

chrome.tabs.getSelected(null, function(tab) { var myTabUrl = tab.url; }); 

chrome.tabs.getCurrent(function(tab) { var myTabUrl = tab.url; }); 

:使用しての違いは何ですか?

答えて

15

getCurrent必要なものを見るためには、getSelectedは現在ブラウザで選択されているものとします。それらが異なっている可能性があります - あなたの拡張機能がタブでいくつかのバックグラウンドcronジョブを実行するかもしれないので、そのタブは現在ユーザによって選択されていない可能性があります。

わかりました。明らかに間違っています。 getCurrentは、関連するタブ(options.htmlなど)を持つ拡張機能の独自のページ内でのみ使用する必要があります。背景やポップアップページからは使用できません。 getSelectedは、ブラウザで現在選択されているタブです。

元の質問については、おそらくその2つのどちらも必要ありません。コンテンツスクリプトからバックグラウンドページにリクエストを送信する場合、このリクエストが行われたタブはsenderパラメータとして渡されます。

+3

古くからの回答は、下記を参照してください – Aerovistae

19

方法chrome.tabs.getSelectedは推奨されていません。代わりにchrome.tabs.queryを使用してください。

古くなったメソッドchrome.tabs.getSelectedの公式ドキュメントは見つかりません。ここには、方法chrome.tabs.queryのドキュメントがあります。

関連する問題