Google Chrome Extensionを作ってみた-その5-
はじめに
Chromeでは、ブックマークの画面、履歴の画面、新規タブの画面を独自のものに変える事が出来ます。今回は新規タブを開いた時に表示される画面を変更してみます。
企業としてChromeをデフォルトブラウザとして導入するなら、新規タブの画面を独自のポータル画面にするのはありかもしれません。
作るもの
普通なら新規にタブを開くと次のような画面が表示されますね。(ver. 15.0.865.1000 dev-m)
これを「新規タブを開いたら、クラスメソッドの5つのブログフィードが表示される」ようにしてみます。
作ってみる
まずはmanifest.jsonの設定からです。
新規タブの画面を変えるには、"chrome_url_override"という項目を定義します。構文は次の通りです。
"chrome_url_overrides" : { "{pageToOverride}": "newtab.html" }
{pageToOverride}に入れるべきキーワードは3つあります。
- bookmarks
- history
- newtab
今回は、新規タブの画面なので"newtab"を指定します。
という事で完成したmanifest.jsonは、
{ "name": "NewtabSample", "version": "1.0", "permissions": [ ], "chrome_url_overrides" : { "newtab": "newtab.html" } }
となります。
次にnewtab.htmlの実装です。
この実装はなんらChromeならではの話はないんで、何でも良いのですが、、、
今回はzRSSFeedというjQueryのプラグインを使ってみました。いたってごく普通なhtmlです。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>スタートページ</title> </head> <link href="jquery.zrssfeed.css" rel="stylesheet" type="text/css" /> <link href="style.css" rel="stylesheet" type="text/css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js" type="text/javascript"></script> <script src="jquery.zrssfeed.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function () { $('#devfeed').rssfeed('https://dev.classmethod.jp/feed/', { limit: 5 }); $('#designfeed').rssfeed('http://design.classmethod.jp/feed/', { limit: 1 }); $('#salesfeed').rssfeed('http://sales.classmethod.jp/feed/', { limit: 1 }); $('#officefeed').rssfeed('http://office.classmethod.jp/feed/', { limit: 1 }); $('#visionfeed').rssfeed('http://vision.classmethod.jp/feed/', { limit: 1 }); }); </script> <body> <div id="newtab"> <div id="leftpart"> <div id="devfeed"></div> </div> <div id="rightpart"> <div id="designfeed"></div> <div id="salesfeed"></div> <div id="officefeed"></div> <div id="visionfeed"></div> </div> </div> </body> </html>
新規タブを開くと次の様にフィードの画面が開きました。
まとめ
新規タブの画面を変えるには、
- manifest.jsonで、pageToOverrideの設定を追加する
- pageToOverrideの中では、"newtab"を指定する