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

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 ;

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

Source: https://habr.com/ru/post/J107953/


All Articles