Google Chromeの左側のタブを閉じる拡張機能の作り方

アドオン

前回Google Chromeのアイコンをクリックでアラートを出すだけ拡張機能(アドオン)の作り方を書きましたが、今回はタブに対して操作する拡張機能を記します。



左側のタブを閉じる拡張機能の作成方法

Google Chromeのタブを右クリックして出したメニューに「他のタブを閉じる」や「右側のタブを閉じる」がありますが「左側のタブを閉じる」がありませんので、今回はこれ実行する拡張機能を作ります。

■「manifest.json」の作成
<strong>manifest.json</strong>
{
	"name": "左側のタブを閉じる",
	"version": "1.0.0",
	"manifest_version": 2,
	"description": "左側のタブを閉じる拡張機能",
	"icons":
	{
		"16":"icon16.png",
		"48":"icon48.png",
		"128":"icon128.png"
	},
	"browser_action":
	{
		"default_icon": "icon16.png",
		"default_title": "左側のタブを閉じる"
	},
	"background":
	{
		"scripts": [ "script.js" ]
	},
	"permissions":[
	//	"tabs"
	 ]
}
各項目の説明
“permissions” 権限を与える項目です。
“tabs”でタブを操作する事ができるようになります。
“tabs”が無くても可能でした。

前回作ったマニュフェストファイルにタブを操作する権限を追加します。

■「script.json」の作成

script.json

var baseWINDOW=0;
var baseTAB=0;

var script01 = function()
{
	chrome.tabs.getSelected(null,function(tab)
	{
		baseTAB=tab.id;
		baseWINDOW=tab.windowId;
	});
	chrome.windows.getAll(null,function(windows)
	{
		for (var i=0;i<windows.length;i++)
		{
			if(baseWINDOW==windows[i].id)
			{
				chrome.tabs.getAllInWindow(windows[i].id,function(tabs)
				{
					for (var j=0;j<tabs.length;j++)
					{
						if(baseTAB!=tabs[j].id)
						{
							chrome.tabs.remove(tabs[j].id);
						}
						else
						{
							break;
						}
					}
				});
			}
		}
	});
};

(function()
{
	chrome.browserAction.onClicked.addListener(script01);
})();
各項目の説明
chrome.tabs.getSelected 現在アクティブなウインドウとタブの情報を取得します。
chrome.windows.getAll 現在開いているウインドウの情報を取得します。
chrome.tabs.getAllInWindow 現在開いているタブの情報を取得します。
chrome.tabs.remove 指定したIDのタブを閉じます。

前回のアイコンが押された後にアラートを出現させる部分をタブを閉じる命令に変更します。

まずchrome.tabs.getSelectedで現在アクティブなウインドウとタブのIDを取得します。

このIDを持っているウインドウをchrome.windows.getAllで探し、そのウインドウの中からchrome.tabs.getAllInWindowで探して同じIDを持つタブまでをchrome.tabs.removeで閉じ、見つけたらbreakでループを抜けます。

実行結果

Chromeに登録したらメニューの左横に新しくアイコンが追加されます。
add-on

このアイコンを左クリックすれば現在アクティブなタブがあるウインドウの中の左側のタブを閉じます。

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

関連記事



スポンサーリンク