Hatena::Groupcside

Cside::StudyMemo このページをアンテナに追加 RSSフィード

メインブログに書くまでもない自分用メモを垂れ流す。日々是勉強也。

カテゴリー

2012-08-12

[]ChromeのContent Security Policy下でJS製テンプレートエンジンを使うには

ChromeのContent Security Policy下では文字列からコードを生成する一連の処理が禁止される。具体的には

  • eval
  • new Function('...');

など。

これで何が困るかというと、既存のJavaScript製テンプレートエンジンは大体この制限に引っかかるため、使えなくなるということだ。


ではどうするか。

iframeでsandbox をこさえて、そのなかでhtmlの作成を行えばこれを回避できる。

この説明では何を言ってるか分からないと思うので、以下の資料を読めばOK。

[]Chromeのバージョンを21に上げたら自作拡張が動かなくなったメモ

現実逃避がてらChrome拡張のメンテでもすっかーと思ったら動かなくなっててワロタ。


Manifest Versionが1→2へ

本バージョンからmanifestバージョンが2に強制。1のサポートは廃止。1→2は後方互換性を維持しない。変更点をまとめると

  1. manifest.jsonのプロパティの一部を廃止/追加
  2. APIの一部を廃止/追加
  3. Content Security Policy

って感じか。開発者は既存コードに大きく手を入れる必要が出る。

詳しくはここにまとまっている。

Manifest Version - Google Chrome

新仕様・APIのキャッチアップ

read.crx2がかなり追ってて参考になる。