411 文字
2 分
【Chrome拡張開発】拡張機能アイコンのクリック時にポップアップを表示する

最近Chrome拡張を開発してみてるので、その開発メモです。基本的には以下のGoogleの公式リファレンスを参考にしてます。

参考:chrome.browserAction  |  Reference  |  Chrome for Developers

やりたいこと#

こんな感じで、Chromeのツールバーにある拡張機能のアイコンをクリックしたら、設定画面的なものを表示させたいです。

実現方法#

manifest.jsonに以下を追記します。

"browser_action": {
"default_icon": "icon.png", // ツールバーに表示される拡張機能のアイコン。無くても可(デフォルトアイコンになる)。
"default_title": "Hide Unnecessary Site", // ツールバーの拡張機能アイコンにマウスオーバーしたときに表示されるテキスト。無くても可。
"default_popup": "popup.html" // 拡張機能アイコンをクリックしたときに表示されるHTML
},

最低限必要なのは"default_popup"になります。ここに設定したpopup.htmlをこんな感じで作ってみます。

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h3>Chrome Extension Template</h3>
</body>
</html>

Chromeにこの拡張機能を読み込ませて、ツールバーの拡張機能アイコンをクリックしてみます。

無事popup.htmlの内容が表示されました。でも、なんだかポップアップが小さいような。。。

調べてみると、cssでwidthを設定すればうまい具合の大きさにできそうです。

参考:google chrome extension - popup.html - change width? - Stack Overflow

上記を参考にcssでmin-widthを指定してみます。

popup.css
body {
min-width: 300px;
}

そしてこのcssをpopup.htmlで読み込みます。

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="popup.css">
</head>
<body>
<h3>Chrome Extension Template</h3>
</body>
</html>

無事いい感じの大きさでポップアップを表示できました。