0

ページが読み込まれたときにjavascriptを実行する単純なプラグインを作成し、別のページで別のjavascriptを実行したい

しかし、次のコードは期待どおりに機能せず、「アラート」はトリガーされませんでした。

background.html

<html><body>
<script>
chrome.webRequest.onCompleted.addListener(
  function(details) {
    alert (details.url);
  },
  {
      urls: ["*"],
      types: ["main_frame"]
  },
  []
);
</script>
</body></html>

manifest.json

{
  "name": "JS",
  "background_page": "background.html",
  "permissions": [
    "webRequest",
    "*"
  ],
  "version":"0.10"
}
4

1 に答える 1

1

拡張機能のバックグラウンドページから作成されたアラートとconsole.logは、一般的なページには表示されません。

それらを表示するには、背景ページを開く必要があります。拡張機能の設定ページ(メニューツール/拡張機能)に移動し、拡張機能の名前の下にある[background.html]リンクをクリックします。

あなたの場合、開発段階では、コンテンツスクリプト(つまり、バックグラウンドページではない)にconsole.logとアラートを追加する方がよい場合があります。そのため、背景ページを開かなくても読むことができます。

編集:要求に応じて、単に場所を警告する拡張機能:

main.js:

alert(document.location.href);

マニフェスト.json:

{
    "name": "Any name",
    "version": "3.3",
    "background_page": "background.html",
    "content_scripts": [
        {
            "matches": ["http://*/*"],
            "all_frames" : true,
            "run_at" : "document_end",
            "js": [
                "main.js"
            ]
        }
    ]
}

はい、テストしました。そして、はい、それはそれが聞こえるのと同じくらい苦痛です。console.log開発中の代わりに使用する必要がありalertます。

于 2012-05-29T08:24:54.670 に答える