tabs APIの使い方
今回のケースはタブの更新時とタブの切り替え時に,
tabs APIにはタブ選択の変更
まずは,
run_
var run_on_tab = function(tab, force_request, only_request){
var url = tab.url;
if (!/^http/.test(url)) return;
if (url.length > 255) return;
services.forEach(function(service){
service.set(tab.url, force_request, only_request);
});
};
続いて,
onSelectionChangedの使い方
chrome.tabs.onSelectionChanged.addListener(function(tabid){
chrome.tabs.get(tabid, function(tab){
run_on_tab(tab);
});
});
最後に,
current_
var current_window;
chrome.windows.getCurrent(function(window){
current_window = window;
});
chrome.tabs.onUpdated.addListener(function(tabid){
chrome.tabs.getSelected(current_window.id, function(tab){
if (tab.id === tabid) {
run_on_tab(tab, true);
} else {
run_on_tab(tab, true, true);
}
});
});
onUpdatedが発生したタブと現在選択されているタブが同じ場合,
以上でExtensionの実装は完了しました。仕上げとしてmanifest.
SBM Counterのmanifest.
{
"name": "SBM Counter",
"description": "SBM Counter",
"toolstrips": [ "toolstrip.html" ],
"version": "1.0"
}
toolstripsしか使用していないため,
SBM Counterのmanifest.
{
"name": "SBM Counter",
"description": "SBM Counter",
"permissions": [ "http://*/" ,"tabs" ],
"toolstrips": [ "toolstrip.html" ],
"version": "1.0"
}
本来であれば,
また,
以上をパッケージしたファイルは下記にあります。
まとめ
今回はExtensionsの作成からAPI仕様の概略とデバッグツール,