4

私は拡張機能開発の初心者です。Webページにコードを挿入できる拡張機能を作成しようとしています。私はグーグルクロームコンテンツスクリプトを使用してこれを行おうとしています。しかし、私はfacebook.comまたはgoogle.comでこれを行うことができませんでした。yahoo.comで動作しているようです。これには理由がありますか?どうすればこれを回避できますか?

4

2 に答える 2

5

私の拡張機能の1つであるFacebookFriendExporterで、これを実行しました。お気軽にご覧ください。Facebookを使用して友達の連絡先情報(メールを含む)を取得し、新しい連絡先としてGmailにエクスポートします。それにはあなたと同じようなグーグルとフェイスブックからの許可が必要です。

FacebookまたはGoogleにコードを挿入する必要があるため、コンテンツスクリプトを使用する必要があります。コンテンツスクリプトを使用すると、WebページのコンテキストでJavaScriptコードを実行できます。標準のDOMを使用して、そのWebページからコンテンツを抽出/読み取り、変更を加えることができます。

マニフェスト.jsonでは、次のように定義する必要があります。

{
  "name": "My extension",
  ...
  "content_scripts": [
    {
      "matches": ["http://*.google.com/*", "http://*.facebook.com/*"],
      "css": ["injected_styles.css"],
      "js": ["injected_script.js"],
      "all_frames": true
    }
  ],
  ...
}

一致のパターンの詳細については、一致パターンのドキュメントを参照してください。コンテンツスクリプトの上位一致では、「。com」ドメインにのみ挿入できることを忘れないでください。それを考慮に入れてください。より多くの一致ドメインが必要な場合は、それらを1つずつ入力する必要があります。(これには問題があることはわかっていますが、セキュリティ上の理由からです)

Google Mail(gmail)のような複雑なWebサイトの場合、通常はiframeを使用してDOMを表します。そのため、「all_frames:true」を配置しました。これは、コンテンツスクリプトを、トップフレームだけでなく、ページのすべてのフレームで実行するためです。

お役に立てば幸いです。

于 2011-06-20T04:14:53.760 に答える
4

コンテンツスクリプトを使用して、任意のWebサイトにコードを挿入できます。マニフェスト.jsonファイルのmatchesタグに「facebook.com」または「google.com」が含まれていることを確認してください

于 2011-06-20T04:16:42.137 に答える