人気のあるブラウザーのインスタント拡張機能のレシピ

0147 (1)



すべての(可能であれば)人気のあるブラウザー用の単純な拡張機能を作成するという問題が発生しました。 拡張機能のアクティビティは、ドキュメントの本文にJavaScriptを挿入することです。



医師がjavascript注射を処方



簡単に思えますが、ブラウザの行でコードを実行します。



  1. javascript : var s = document. createElement ( 'script' ) ; s. type = 'text/javascript' ; document. body . appendChild ( s ) ; s. src = 'script.js' ; void ( 0 ) ;



  2. javascript : var s = document. createElement ( 'script' ) ; s. type = 'text/javascript' ; document. body . appendChild ( s ) ; s. src = 'script.js' ; void ( 0 ) ;



  3. javascript : var s = document. createElement ( 'script' ) ; s. type = 'text/javascript' ; document. body . appendChild ( s ) ; s. src = 'script.js' ; void ( 0 ) ;



  4. javascript : var s = document. createElement ( 'script' ) ; s. type = 'text/javascript' ; document. body . appendChild ( s ) ; s. src = 'script.js' ; void ( 0 ) ;



  5. javascript : var s = document. createElement ( 'script' ) ; s. type = 'text/javascript' ; document. body . appendChild ( s ) ; s. src = 'script.js' ; void ( 0 ) ;



しかし、スクリプトが別のサイトのすべてのページを処理する場合はどうでしょう。 新しいページに移行するたびに、ユーザーにインジェクションコードのタブを常にクリックさせないでください。 単純な解決策の素朴な検索は失敗しました。

多くのブラウザ用の拡張機能を書くのが一番怖かったのですが、どうしたらいいか、最も人気のあるものを思い出し始めました。

「FirefoxとChromeに問題はないはずですと私は思いました。



Google Chrome



Chromeの拡張機能は1時間で作成されました-公式サイトの多くのドキュメント、多くの例。 一般的に、開発者にとっての楽園です。



ガイド



background.htmlからのフラグメント



  1. 関数 onRequest tabId changeInfo tab {
  2. if changeInfo。status == 'complete' {
  3. クロム。 タブexecuteScript tabId { code "javascriptのないコード:" } ;
  4. } ;
  5. } ;
  6. クロム。 タブonUpdatedaddListener onRequest ;


すべてがシンプルで上品になりました。 ドキュメント本文に直接挿入する



All Articles