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(...))