Chrome Extensionのmanifest.jsonを1から2へアップデートした際の仕様変更まとめ
しばらくぶりにchrome extensionの開発をしていたら、extensionの仕様をコントロールするmanifest.jsonのバージョンが上がっていたらしく、jsonを含め、次のような変更が必要になったようです。
バージョンアップしたmanifest.json周りの仕様はgoogle謹製ドキュメントを参考にして欲しいです。
Manifest File Format - Google Chrome
manifest.json
background_pageの設定方法
以下のように変更となります。
#変更前 "background_page":"bg.html", #変更後 "background": { "page":"bg.html" },
jsのstrict化?
1年弱前に書いたコードは、何を思っていたのか、headの中にscriptベタ書きの状態で記されており、到底使えるものではありませんでした…
新しいmanifest.jsonではこのような書き方では動かなくなります。
例えば、options.html内で以下のように書いていたものが次のようなエラーで落ちます。
<body onload="loadOptions();">
Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension-resource:".
あまりにも残念だったので、まずjQuery化し、その後にhtmlから分離したjs内で以下のように記述。
$(document).ready(function(){ loadOptions(); });
久しぶりにextensionを開発 or アップデートしようと思った際は注意してください。