0

わかりました、これは奇妙です。
これは私の拡張機能であり、Windows (少なくとも 2 つの win7 マシン) では問題なく動作しますが、Linux (CentOS6 および Fedora18) でテストしたところ、アイコンがクリックされたときに何もできませんでした (少なくとも、を表示しますalert)。オプション ページは引き続き機能し、データは適切に保存されます。

有効developer modeにした後、拡張機能をchrome://extensions/クリック_generated_background_page.htmlして、アドオンの JS コンソールを表示できます。

そこで、次のエラーが表示されました。

Error during tabs.executeScript: Cannot access contents of url "https://www.google.com.au/". Extension manifest must request permission to access this host.

エラーの実際の URL は関係ありません。すべてのサイトに対して行います。

問題は、Windows マシンはそのようなエラーを示さなかったということです。これはプラットフォームに依存しないはずですか? マニフェストは明らかに同じですが、Linux マシンでのみ
必要なアクセス許可がアドオンにないのはなぜですか?

Mac はテストされていません。


さらに詳しい情報

上記のエラー メッセージには、次の情報が含まれています。スクリプト
の関数chromeHidden.handleResponseの行にあります22sendRequest

4

1 に答える 1

1

この"activeTab"権限は Chrome 26 で追加されました。Chrome/Chromium 26 以降がインストールされていることを確認してください。

拡張機能を Chrome Web ストアの古いブラウザと互換性を持たせたい場合は、マニフェスト ファイルにホスト アクセス許可と次のminimum_chrome_versionキーを追加します。

最初に、次のマニフェスト ファイルを使用して拡張機能をアップロードします。

{
    "name": "Name of extension",
    "version": "1.0",
    "manifest_version": 2,
    "permissions": [
        "<all_urls>"
    ]
}

次に、バージョンを上げて に変更"<all_urls>""activeTab"、フィールドを追加し"minimum_chrome_version"て、Chrome ウェブストアに再度アップロードします。

{
    "name": "Name of extension",
    "version": "1.0.1",
    "manifest_version": 2,
    "permissions": [
        "activeTab"
    ],
    "minimum_chrome_version": "26.0.0.0"
}
于 2013-08-09T09:15:06.947 に答える