#11-14 「拡張機能オプション設定画面」を利用したBrowser Action

Webデザイン

カテゴリー: Google Chrome  閲覧数:1109 配信日:2013-01-28 14:26


仕様
・「Browser Actionアイコン」をクリックすると、「設定ページ」で設定した色へ変更


拡張機能オプション設定ページ」作成方法
Step 1: Declare your options page in the manifest(マニフェスト「manifest.json」に会員オプションページを宣言)
{
 "name": "My extension",
 ...
 "options_page": "options.html",
 ...
}

Step 2: Write your options page(会員オプションページを作成)
・オプションページ作成例はこちら


▼manifest.json
{
"manifest_version": 2,
   "name": "My First Browser Action",
   "description": "はじめての拡張!",
   "version": "0.1",
   "background": {
       "scripts": ["background.js"]
   },
   "options_page": "options.html",
   "permissions": [
       "tabs", "http://*/*"
   ],
   "browser_action": {
       "default_icon": "icon19.png",
       "default_title": "My First Extension"
   }
}

▼background.js
chrome.browserAction.onClicked.addListener(function() {
   var color = localStorage['color'] ? localStorage['color'] : 'red';//デフォルトは赤
   chrome.tabs.executeScript(null, {code: "document.body.style.backgroundColor='"+color+"'"});
});

▼options.html
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="utf-8"></head>
<body onload="restoreColor();">
<h1>Choose Your Color</h1>
<input type="radio" name="colors" value="1"> Red
<input type="radio" name="colors" value="2"> Green
<input type="radio" name="colors" value="3"> Yellow
<input type="button" id="save" value="Save!">
<script src="myscript.js"></script>
</body>

▼myscript.js
var colors = document.getElementsByName('colors');

function restoreColor() {
 switch(localStorage['color']) {
 case 'red':
   colors[0].checked = true;
   break;
 case 'green':
   colors[1].checked = true;
   break;
 case 'yellow':
   colors[2].checked = true;
   break;
 default:
   colors[0].checked = true;
   break;
 }
}

function saveColor() {
 if (colors[0].checked===true) {
   localStorage['color'] = 'red';
 }
 else if (colors[1].checked===true) {
   localStorage['color'] = 'green';
 }
 else if (colors[2].checked===true) {
   localStorage['color'] = 'yellow';
 }
}

document.body.onload = restoreColor;
document.getElementById('save').onclick = saveColor;
※ 「if (colors[0].checked)」より、「if (colors[0].checked===true)」の方が良い
▼icon19.png


「Manifest version 1」コードを「Manifest version 2」で動作させるには?
・manifest.jsonにmanifest_versionを追加
  "manifest_version": 2,
・html に書いたJavaScript部分は外部ファイルへ移動。その外部ファイルを htm lで読込
・onclick属性は削除。idを付け、対応
・bodyにつけたonload属性は削除

週間人気ページランキング / 4-10 → 4-16
順位 ページタイトル抜粋 アクセス数
1 Design 0 20
2 拡張機能が Chrome によって無効にされました / この拡張機能は破損している可能性があります。 | Chrome 拡張機能 17
3 Chromeシークレットモードで、ウインドウ幅をリサイズしようとすると、下限制限を受ける | Google Chrome(ブラウザ) 16
3 「Default User」を削除したら、既存ブックマークが削除されてしまった! 16
4 Material Design 2014 年 | Material Design(色) 15
4 Illustratorでaiファイルを保存する際、下位バージョンでも開けるよう保存する | Illustrator CS3(Illustrator) 15
5 Adobe Camera Raw 4.0 | Photoshop 13
6 CSSだけで、任意の要素に配置した画像を画面一杯に表示することは、基本的には出来ない。「img src」「背景画像」「div要素」何れの場合でも。可能なのは、特殊な要件が重なった場合だけ | CSS 11
7 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 9
8 「東京都」のカラーコード取得は難しい | カラーコード(色) 7
9 Photoshop無料アクションファイル(atn)導入見送り | Photoshop 6
10 「.aiファイル」を下位バージョンで保存するための操作手順 / OS 上で「.aiファイル」から「作成したIllustratorバージョン」を確認する方法 / 下位バージョンのIllustratorで開く方法 5
10 「文春オンライン」に掲載されている画像を「Google Chrome」ブラウザでダウンロードするためには、chrome拡張機能「Absolute Enable Right Click & Copy」を使用します。 | 画像 5
10 鉄道会社毎のカラーコード | カラーコード(色) 5
11 画像縦横比の問題 | 画像 4
11 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 4
11 RGBの種類 / ビットカラー | RGB(色) 4
12 RGB ⇔ Lab | 色変換(色) 3
12 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 3
12 「bgcolor」「background-color」「background」の違い | CSS 3
2026/4/17 5:05 更新
指定期間人気ページランキング / 2020-5-30 → 2026-4-16
順位 ページタイトル抜粋 アクセス数
1 RGB ⇔ Lab | 色変換(色) 8933
2 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 4622
3 Design 0 4103
4 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 3797
5 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 2787
6 RGBの種類 / ビットカラー | RGB(色) 2778
7 「bgcolor」「background-color」「background」の違い | CSS 2104
8 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 2101
9 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 1984
10 16進数カラーコード / 2進数 1889
11 「コズミックブルー」は、くすんだ青系全般の色を指す用語だと思います。 | カラーコード(色) 1886
12 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 1720
13 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 1702
14 「属性」「プロパティ」「アトリビュート」の違い | CSS 1647
15 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能(ブラウザ) 1568
16 「Bootstrapデザイン」✕「グラフ」 | 2系(Bootstrap) 1537
17 「東京都」のカラーコード取得は難しい | カラーコード(色) 1442
18 Chrome でキャッシュを効かさない | Google Chrome(ブラウザ) 1394
19 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 1250
20 「西武鉄道株式会社」のブランドカラーは、3色(#3366CC、#66CCFF、#33CC66) | 色 1235
2026/4/17 5:05 更新