
satoshiii
対象読者
- 拡張機能について知りたい
- 拡張機能でjsって使えるか知りたい
何が書いてる?
- jsを読み込ませる方法
Chrome拡張機能では、
セキュリティの関係でポップアップで表示されたHTMLに
直接JavaScriptを記述することはできません。
じゃあ、どうすればいいか?
外部ファイルとして、JavaScriptを読み込ませれば可能になります。
JavaScriptファイルを読み込ませて、ポップアップ内の<p>タグをタップするとアラート表示させる拡張機能を作成します。

manifestファイル
ブラウザアクションを使用します。
{
"manifest_version": 2,
"name": "Chrome Ex",
"version": "1",
"browser_action": {
"default_popup": "popup.html",
"default_title": "Helloを表示する"
}
}
書き方の詳細は、こちらの記事を参考にしてください。

自作したmyscript.jsを5行目で、外部ファイルとして読み込みませます。
JavaScriptで読み込ませるために、pタグにidも指定しています。
<!DOCTYPE html>
<html lang="ja">
<meta charset="UTF-8" />
<head>
<title>ああああ</title>
<script type="text/javascript" src="myscript.js"></script>
</head>
<body>
<p id="hello">Hello!こんにちわ</p>
</body>
</html>
詳細は省きますが、HTMLファイルを読み込んで<p>タグがクリックされた時にアラートを出します。
window.onload = function() {
var el = document.getElementById("hello");
el.addEventListener("click", function(){
alert("外部JavaScriptファイル");
}, false);
};

satoshiii
HTML内にJavaScriptを使えない制限はありますが、
外部ファイルを用意すれば使用可能です。
これで、だいぶ拡張機能の幅が増えると思います。
ソースコードはこちら参照。
https://github.com/satoNobu/chrome_ex/tree/browser_action_js
拡張機能については、他にもまとめてますのでもっと知りたい方はこちらもどうぞ。
