フロントエンドエンジニアの岡田です。 業務改善大好きです。 LCLに入社してからは、Google Chromeの拡張機能でちょっと便利なツールを作っています。
Google Chromeの拡張機能は、HTML, CSS, JSで作るので、気軽に始められます。 今まで作ったツールは以下のとおりです。
- 日報を簡単に作成するツール
- チケット管理ツールの表示カスタマイズ
- 本番サイト表示時に警告を表示するツール(テスト中に意図せず本番サイトへ遷移することを防ぐ)
- 1クリックで接続先のサーバーを切り替え
その中でも、今回は最も簡単な拡張機能をご紹介します。 1クリックで接続先のサーバーを切り替える拡張機能です。 (テストサイト→本番サイトへ切り替えます)
ファイルは2つだけです。
manifest.json
{ "name": "Publicサーバー切り替えextention", "version": "0.0.1", "manifest_version": 2, "description": "本番サイトへ切り替えます", "permissions": [ "tabs", "http://*/*" ], "background": { "scripts": ["background.js"] }, "browser_action": { "default_title": "本番サイトへ切り替え" } }
background.js
function getAlternateUrl(url) { var nowUrlArray = url.split('/'); var nowProtocol = nowUrlArray[0] + '//'; var nowDomain = nowUrlArray[2]; var nowRootPath = url.replace(nowProtocol + nowDomain, ''); var targetDomain; if (/bus/.test(nowDomain)) { // URLにbusが含まれている場合は夜行バス比較なびへ targetDomain = 'bushikaku.net'; } return nowProtocol + targetDomain + nowRootPath; } function clickHandler(tab) { var alternateUrl = getAlternateUrl(tab.url); chrome.tabs.update(tab.id, { url: alternateUrl }); } chrome.browserAction.onClicked.addListener(clickHandler);
こちらのコードは、本番サイトへの切り替えのみですが、以下の3つも作り、アイコンを常駐させています。 地味ではありますが、1クリックで切り替えられるのが便利です。
- ローカルサーバー(Develop)への切り替え
- テストサーバー(Test)への切り替え
- ステージングサーバー(Web)への切り替え
※アイコンを表示させることもできますが、設定しない場合はmanifest.jsonのnameの最初のアルファベットが表示される仕組みのようです。
テスト⇔本番だけの切り替えの場合は、以下の拡張機能でもできますが、切り替え先が複数の場合は使えません。 chrome.google.com
拡張機能の配布については、GoogleのApps for Workを契約していれば、組織内では無料配布できます。 次回は公開方法についてご紹介します。