1

機能する Chrome 拡張機能を Firefox Nightly 46.0a1 に移植しようとしていて、簡単な質問があります! コンテンツ スクリプトを実行または表示するにはどうすればよいですか?

バックグラウンド スクリプトが実行され、ポップアップ ボックスが表示されるので、コンテンツ スクリプト シーム以外はすべて正常に実行されます。コードのこれらの部分をデバッグできます。

しかし、コンテンツ スクリプトは実行するために継ぎ目はありません。

私が理解している限り、それは通常のページ JavaScript 環境の一部であり、デバッガーで表示されるはずですが、そうではありません。どこにもエラーメッセージが表示されないなど。

サポートされていない API を誤って使用した可能性がありますが、それでも警告が表示されず、何も表示されないのは奇妙です。

進め方について何か提案はありますか?

以下のマニフェスト ファイル:

{
  "name": "Bla Bla",
  "version": "0.0.1",
  "manifest_version": 2,
  "description": "A description",
  "homepage_url": "https://aaa.org",
  "icons": 
  {
    "16": "icons/lock_red16.png",
    "48": "icons/lock_red48.png",
    "128": "icons/lock_red128.png"
  },
  "default_locale": "en",
  "background": 
  {
    "scripts": 
    [      
      "js/lib/jserror/jserror.js",
      "js/lib/lang/languagedb.js",

      "js/lib/lz77.js",
      "js/lib/pcrypt.js",
      "js/lib/pcryptapi.js",

      "js/lib/forge.bundle.js",
      "js/lib/elliptic.js",

      "js/lib/srp6a/biginteger.js",
      "js/lib/srp6a/isaac.js",
      "js/lib/srp6a/random.js",
      "js/lib/srp6a/sha256.js",
      "js/lib/srp6a/thinbus-srp6client.js",
      "js/lib/srp6a/thinbus-srp-config.js", 
      "js/lib/srp6a/thinbus-srp6a-config-sha256.js",

      "js/pcrypt_shared.js",      
      "js/pcrypt_extension.js",

      "src/bg/background.js"
    ],
    "persistent": true
  },
  "browser_action": 
  {
    "default_icon": 
    {
      "16": "icons/lock_red16.png",
      "48": "icons/lock_red48.png",
      "128": "icons/lock_red128.png"    
    },
    "default_title": "Password Crypt",
    "default_popup": "src/browser_action/popup.html"
  },
  "permissions": 
  [
    "clipboardWrite",
    "storage"
  ],
  "content_scripts": 
  [
    {
      "matches": 
      [
        "http://*/*",
        "https://*/*"
      ],
      "js": 
      [
        "js/pcrypt_extension.js",

        "src/inject/inject.js"
      ]
    }
  ],
  "externally_connectable":
  {
    "matches": 
    [
        "https://*.aaa.dk/*",
        "https://*.aaa.org/*"
    ]
  },
  "web_accessible_resources": 
  [
    "icons/*.png"
  ],
  "applications": 
  {
    "gecko": 
    {
      "id": "benny@aaa.dk",
      "strict_min_version": "40.0.0",
      "strict_max_version": "50.*",
      "update_url": "https://aaa.org/addon"
    }
  }
}
4

2 に答える 2

2

私が理解している限り、それは通常のページ JavaScript 環境の一部であり、デバッガーで表示されるはずですが、そうではありません。

いいえ、そうではないです。それらは、webextension API にアクセスできるように、ページ環境から分離された、わずかに特権のあるコンテキストで実行されます。

e10s をオフにしている場合は、ブラウザのツールボックスを使用できます。オンになっている場合は、代わりにブラウザー コンテンツ ツールボックスを使用する必要があります。を試すこともできますがabout:debugging、それが webextensions で既に機能しているかどうかはわかりません。

于 2016-01-23T07:04:54.903 に答える
0

MDN ドキュメントには、コンテンツ スクリプトを含む、WebExt のデバッグについて知っておく必要があるすべての情報が含まれています。

于 2016-01-23T15:21:03.867 に答える