1

私の拡張機能は、ユーザーのクリックに基づいてページに対してアクションを実行するだけです。Gmailを除くすべてのウェブサイトで正常に動作します。

これが私のマニフェストファイルです:

{
  "name": "My Extension",
  "version": "2.0",
  "description": "description.",
  "permissions": [
    "tabs"
  ],
  "icons": {
    "16" : "images/icon-16.png",
    "48" : "images/icon-48.png",
    "128" : "images/icon-128.png"
  },
  "background_page": "background.html",
  "options_page": "Options.html",
  "content_scripts": [
    {
        "matches": ["<all_urls>"],
        "css": ["css/style.css"],
        "js": ["inject.js"]
    }
  ]
}


Webページをクリックすると、inject.js通常は起動しますalert()-イベントを処理しonclickます。ただし、Gmailページでは、クリックイベントはキャッチされません。

4

1 に答える 1

1

Gmailはフレームで構成されています。デフォルトでは、コンテンツスクリプトはトップレベルフレームにのみ挿入されます。マニフェストに追加"all_frames":trueして、コンテンツスクリプトもフレームに挿入されるようにします。

"content_scripts": [{
    "matches": ["<all_urls>"],
    "css": ["css/style.css"],
    "js": ["inject.js"],
    "all_frames": true
}]
于 2012-06-30T21:57:21.513 に答える