問題タブ [content-script]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 現在のページのhtmlに外部javascriptを追加するChrome拡張機能
Chrome 拡張機能を使用して、外部 JavaScript をページの最後に追加しています。次に、外部 JavaScript はデータをサーバーに戻そうとしますが、それは行われません。
JavaScript は、現在のページの URL とリファラーを取得し、それをサーバーに送り返したいと考えています。
ここで何が問題なのか、現在のページからサーバーにデータを戻すことができない場合は、どうすればよいかアドバイスしてください。
マニフェスト.json
とりあえず contentScript.js
javascript - FF / ChromeのようにSafari拡張機能にコンテンツスクリプトを条件付きでロードしますか?
Chrome、Firefox、Safari用のかなり複雑なブラウザ拡張機能を書いています。
ChromeとFirefoxでは、URLマッチングに基づいて、どのコンテンツスクリプトをどのサイトに挿入するかを指定できます。
Safariは、そのような(きめ細かい)機能を提供していないようです。すべてのサイトで1つのホワイト/ブラックリストしか許可されていません。
これを行う方法はありますか?そうでない場合、Javascriptファイルを条件付きでロードするにはどうすればよいですか?(私はそれらをDOMに追加できないことを念頭に置いて)。
yepnopeを試しましたが、DOMに追加されます。
注:実際のファイルは基本的に拡張機能間で複製されるライブラリコードであるため、ロジックを追加したくありません。
javascript - Chrome拡張機能からページに関数/変数を挿入します
ユーザーがアクセスする特定のページに機能を追加するChrome拡張機能を作成しています。
そのためには、ページで呼び出すことができる必要のあるいくつかの変数と関数を挿入する必要があります。
これらの変数/関数は、コンテンツスクリプトで生成されます。
ただし、コンテンツスクリプトは人里離れた環境で実行されるため、ホストページはそれにアクセスできません。
この記事によると:
http ://code.google.com/chrome/extensions/content_scripts.html#host-page-communication
イベントを追加することで、コンテンツスクリプトとホストページがDOMを介して通信することが可能です。
しかし、それは物事を行うための恐ろしい方法であり、メソッド/変数を簡単に注入する方法を本当に望んでいます。
そのような可能性はありますか?
ありがとう!
google-chrome-extension - JSをロードしないChromeコンテンツスクリプト
コンテキストメニューで楽しいことをするChromeブラウザ拡張機能に取り組もうとしています。問題は、JS ファイルを manifest.json content_scripts 内にロードできないことです。
エラーは表示されません。ファイルがロードされないだけです。
スクリプトは優れています。バックグラウンド ページに配置すると、そのバックグラウンド ページを介して正常に起動します。その欠点は、バックグラウンド ページのみに制限されていることです。
を含め、あらゆる形式のマッチを試しました。"http://\*/\*", "https://\*/\*", "\*://\*/\*"
空白を試しましたが、空白はありません。ここに空白を描いています。
どんな助けでも大歓迎です。
申し訳ありません。これは、拡張機能がロードされているかどうかをテストするために使用している javascript/Jquery のコピーです。単純な警告です。
firefox-addon - アドオンビルダーを使用して-contentscriptのcontentscriptを使用してWebページに添付された変数にアクセスする方法
アドオンビルダーを使用してアドオンを作成しました。にコンテンツスクリプトを添付しpageMod
ましたmain.js
私のコンテンツスクリプトは、を使用して作成された動的タグの数をカウントしdocument.createElement()
ます。これは、document.createElement()へのフックを作成し、スクリプトタグを作成してこの関数をWebページに追加することで実行されます。私のコードは次のとおりです。
contentscriptFile:
今、私はキャッチされていない例外を取得しています:ReferenceError: count is not defined
。
count
この変数にアクセスするにはどうすればよいですか?
javascript - アドオン ビルダーを使用して、アドオンを介してページの HTTP 応答を追跡する方法
各ページの HTTP 応答を追跡するアドオンを作成したいと考えています。このコードを contentscriptFile に含めるにはどうすればよいですか。これに加えて、メタタグも追跡したいと考えています。これは次を使用して実行できますがdocument.getElementsByTagName('meta');
、これは現在のページのメッツ タグを提供しますが、開いているページは提供しません。アドオン ビルダーを使用してこの機能を実現するにはどうすればよいですか。
javascript - Chromeのユーザースクリプトで変数をハイジャックする
ユーザースクリプトを使用してページ内の変数を変更しようとしています。ソースコードに変数があることを知っています
理論的には、次のように変更できるはずです。
しかし、それは機能しません。ハイジャックせずに変数をコンソールにアラートまたはログに記録しようとすると、未定義であることがわかります。
編集:何かが変わる場合はChromeを使用しています...
http://code.google.com/chrome/extensions/content_scripts.htmlによると:
コンテンツスクリプトは、孤立した世界と呼ばれる特別な環境で実行されます。挿入されたページのDOMにはアクセスできますが、ページによって作成されたJavaScript変数や関数にはアクセスできません。各コンテンツスクリプトは、実行中のページで実行されている他のJavaScriptがないかのように見えます。
Chrome拡張機能についてですが、ユーザースクリプトでも同じ話だと思いますか?
ありがとう、Rob W.それで、それを必要とする人々のための実用的なコード:
google-chrome-extension - ローカル ストレージを contenscript に渡す
私はクロム拡張機能を開発していますが、それを知りたいのですが、ローカルストレージ
全体をバックグラウンドページから contentscript に渡す方法はありますか?
コンテンツ スクリプトと拡張ページの間のメッセージ パッシング
コンテンツスクリプトからローカルストレージのすべてのキー/値を使用できるようにするには?
javascript - Javascript はコンソールでは機能しますが、コンテンツ スクリプトでは機能しません
これは、この質問に対するフォローアップの質問です。短いバージョンは次のとおりです。javascript(Chrome拡張機能)を使用して、クローズ投票ポップアップのテキストフィールドに、重複リンク(ここではスタックオーバーフローの重複としてクローズ投票)を挿入しようとしています。前の答えは私をもう少し先に進め、解決策のようです。ただし、その質問に対する回答はコンソールでは機能しますが、何らかの理由で私のクロム拡張機能では機能しません。
問題は、投票を開いて質問のスタック オーバーフローのポップアップを閉じ、だまされた理由をクリックするときです。コンソールで次のコードを実行できます。
そして、すでに述べたように、これは機能します。リンクがテキストボックスに挿入され、Stack Overflow JS が起動して質問を取得します。ただし、拡張機能でまったく同じコードを実行しようとすると、ちょっとしか機能しません。
リンクがテキストボックスに挿入されますが、質問を取得するためのスタックオーバーフロースクリプトが機能しません。そのため、何が問題なのかまったくわかりません。コンソールとコンテンツスクリプトを使用する場合、おそらくどこかに違いがありますか? 他に何か?
拡張機能の非常に単純化されたバージョンを含むダウンロードを github で作成しました。
google-chrome-extension - アップグレードまたはインストール後の Chrome 拡張コンテンツ スクリプトの再注入
私が取り組んでいる Chrome 拡張機能をインストールまたはアップグレードした後、コンテンツ スクリプト (マニフェストで指定) は再挿入されないため、拡張機能を機能させるにはページを更新する必要があります。スクリプトを強制的に再度挿入する方法はありますか?
マニフェストからそれらを削除し、バックグラウンド ページに挿入するページを処理することで、プログラムで再度挿入できると思いますが、これは良い解決策ではありません。
データの一部が失われる可能性があるため、ユーザーのタブを自動的に更新したくありません。Safari では、拡張機能をインストールまたはアップグレードすると、すべてのページが自動的に更新されます。