イベント

Chrome APIが提供するイベントとは、Chromeブラウザ上で何かが起きた際に、そのことを通知するためのオブジェクトである。ここに例として chrome.tabs.onCreated イベントにより、新しいタブが作られた際に通知を受け取るコードを挙げておく。

chrome.tabs.onCreated.addListener(function(tab) {
  appendToLog('tabs.onCreated --'
              + ' window: ' + tab.windowId
              + ' tab: '    + tab.id
              + ' index: '  + tab.index
              + ' url: '    + tab.url);
});

この例にあるように、イベントにリスナーを登録するためには、対象とするイベントオブジェクトの持つ addListener メソッドを呼び出す。この addListener メソッドは引数にコールバック関数を受け取り、登録する。全てのイベントがこの関数を実装するが、登録したコールバック関数が受け取る引数は、イベントによって異なる。今回の例であれば tabs.onCreated イベントのドキュメントで確認できるが、引数では新たに作成されたタブを表す Tab オブジェクトを受け取ることが出来る。

メソッド

全てのイベントオブジェクトは、以下のメソッドを持つ。

addListener(function callback(...))
removeListener(function callback(...))
hasListener(function callback(...))