ここで質問の回答が見つからない場合は、Chrome ウェブストアのよくある質問をご覧ください。 Stack Overflow の [google-chrome-extension] タグ、chromium-extensions グループ、 ストアのヘルプをご覧ください。
全般
Google Chrome 拡張機能とは
Google Chrome 拡張機能は、Chrome ブラウザ内で実行されるアプリケーションです。 機能、サードパーティのウェブサイトまたはサービスとの統合、カスタマイズされたブラウジング 体験できます
拡張機能の開発用に Chrome を設定するにはどうすればよいですか?
拡張機能をサポートするバージョンの Chrome を使用している場合、すべてがすでにインストールされています 独自の拡張機能の作成を 開始する必要がありますまず、デベロッパー モードをオンにします。
Chrome のメニュー アイコンをクリックし、[ツール] メニューから [拡張機能] を選択します。次のことを確認します。 「デベロッパー モード」チェックボックスがオンになっている。再読み込みできるようになりました 拡張機能によって、パッケージ化されていないディレクトリをパッケージ化された拡張機能であるかのように読み込むことができます。1 つの スタートガイドをご覧ください。
Chrome の拡張機能を作成するためにどのような技術が使われていますか?
拡張機能の作成には、デベロッパーが開発に使用するのと同じ標準的なウェブ テクノロジーが使用されています ウェブサイト。HTML はコンテンツ マークアップ言語、CSS はスタイル設定に、JavaScript は 使用します。Chrome は HTML5 と CSS3 に対応しているため、デベロッパーは最新のオープンウェブ キャンバスや CSS アニメーションなどのテクノロジーを拡張機能に組み込みました。拡張機能は いくつかの JavaScript API。これらの API は、JSON エンコードや JSON とのインタラクションなど、さまざまな機能の実行に役立ちます。 アクセスできます。
拡張機能はブラウザを読み込むたびにウェブから取得されますか?
拡張機能はインストール時に Chrome ブラウザによってダウンロードされ、その後ブラウザ上で実行されます。 ローカルディスクにアタッチしますただし、新しいバージョンの拡張機能が 拡張機能をインストールしているユーザーに、自動的にバックグラウンドでダウンロードされます。 インストールされています。また、拡張機能は、ユーザーとやり取りするために、いつでもリモート コンテンツをリクエストする ウェブから新しいコンテンツを pull することもできます。
どのバージョンの Chrome がどのチャンネルにデプロイされているかを確認するにはどうすればよいですか?
各プラットフォームで現在どのバージョンの Chrome が使用可能かを確認するには、 omahaproxy.appspot.com にアクセスします。このサイトでは、次のような形式でデータが表示されます。
cf,dev,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
cf,beta,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
cf,stable,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
linux,dev,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
linux,beta,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
linux,stable,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
mac,dev,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
mac,beta,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
mac,stable,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
win,canary,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
win,dev,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
win,beta,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
win,stable,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
cros,dev,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
cros,beta,#.#.###.#,#.#.###.#,mm/dd/yy,mm/dd/yy,#####,#####,#####
各行は、それぞれのプラットフォームとチャネルの組み合わせに関する情報を表します。リストにある
cf
(Google Chrome Frame)、linux
、mac
、win
、cros
(Google ChromeOS)です。「
リストされているチャンネルは canary
、dev
、beta
、stable
です。末尾の 2 つの番号は、
チャンネルは、そのプラットフォーム チャンネルにデプロイされた Chrome の現在のバージョンと以前のバージョンを表します。
組み合わせたものです。残りの情報は、リリースが最初に push された日時に関するメタデータです。
各ビルドに関連付けられているリビジョン番号も確認できます。
機能
拡張機能でクロスドメインの Ajax リクエストを行うことはできますか?
はい。拡張機能はクロスドメイン リクエストを行うことができます。詳しくは、こちらのページをご覧ください。
拡張機能でサードパーティのウェブサービスを使用できますか?
はい。拡張機能はクロスドメインの Ajax リクエストを作成できるため、リモート API を呼び出すことができます。 直接渡されます。JSON 形式でデータを提供する API は特に簡単に使用できます。
拡張機能で JSON データのエンコード/デコードは可能ですか?
はい。V8(Chrome の JavaScript エンジン)は JSON.stringify と JSON.parse をネイティブにサポートしているため、 こちらに記載されているとおり、拡張機能でこれらの関数を拡張機能で JSON ライブラリをコード内で 使用しないでください
拡張機能でデータをローカルに保存できますか?
はい。拡張機能は localStorage を使用して文字列データを永続的に保存できます。Chrome の組み込みの 複雑なデータ構造を localStorage に保存できます。拡張機能が 保存されたデータに対して SQL クエリを実行する。Chrome は、クライアントサイド SQL データベースを実装している。 も使用できます。
拡張機能で OAuth を使用できますか?
はい。OAuth を使用してリモートデータ API にアクセスする拡張機能があります。ほとんどのデベロッパーが JavaScript OAuth ライブラリを使用すると、OAuth の署名プロセスを簡素化できます。 できます。
拡張機能では、レンダリングされたウェブページの外部で UI を作成できますか?
はい。拡張機能によって、Chrome ブラウザのユーザー インターフェースにボタンが追加されることがあります。ブラウザ アクションとページ アクションをご覧ください。
拡張機能では、ブラウザ ウィンドウの外側にあるポップアップ通知を作成することもできます。詳しくは、 デスクトップ通知のドキュメントをご覧ください。
拡張機能は Chrome のタブやナビゲーション ボタンのクリックをリッスンできますか?
いいえ。拡張機能は、API ドキュメントに記載されているイベントのリッスンに限定されています。
2 つの拡張機能は相互に通信できますか?
はい、拡張機能は他の拡張機能にメッセージを渡すことができます。メッセージ受け渡しに関するドキュメントをご覧ください。 をご覧ください。
拡張機能で Google アナリティクスを使用できますか?
はい。拡張機能はウェブサイトと同じように構築されているため、Google アナリティクスを使用してトラッキングできます。 できます。HTTPS バージョンの Google アナリティクス データを取得するには、トラッキング コードを変更する必要があります。 ライブラリです。詳しくは、こちらのチュートリアルをご覧ください。
拡張機能によって chrome:// の URL が変更されることはありますか?
いいえ。拡張機能 API は、後方互換性の問題を最小限に抑えるように設計されています。
ブラウザの新しいバージョンがプッシュされたときに発生します。chrome://
個の URL でコンテンツ スクリプトを許可すると、次のようになります
デベロッパーがこれらのページの DOM、CSS、JavaScript を利用するようになると、これらの要素も変わらないことが予想されます。
最悪の場合、これらのページは、現在更新されているほど迅速に更新できませんでした。
最悪の場合、いずれかのページを更新すると、
その拡張機能を使用しているユーザーは、ブラウザの主要部分が動作しなくなります。
これらの URL でホストされているコンテンツの完全な置き換えが許可されるのは、 拡張機能のデベロッパーは、 ブラウザの内部実装は変更しません。
拡張機能では、ユーザーの操作なしでブラウザやページの操作のポップアップを開くことができますか?
いいえ。ポップアップは、対応するページまたはブラウザのアクションをユーザーがクリックした場合にのみ開くことができます。「 拡張機能ではポップアップを開くことができません。
ユーザーがクリックした後も、拡張機能のポップアップを開いたままにできますか?
いいえ。ユーザーがブラウザの外部の一部にフォーカスを合わせると、ポップアップは自動的に閉じます。 表示されます。ユーザーが離脱した後もポップアップを開いたままにする方法はありません。
拡張機能がインストールまたはアンインストールされたときに通知を受け取ることはできますか?
runtime.onInstalled イベントをリッスンして、拡張機能が更新された場合に通知を受け取ることができます。 Chrome 自体が更新されたとき。対応するイベントはありません。 拡張機能がアンインストールされます。
開発
拡張機能の UI を作成するにはどうすればよいですか?
拡張機能では HTML と CSS を使用してユーザー インターフェースを定義するため、標準のフォーム コントロールを使用できます ウェブページと同じように、UI の作成や CSS によるインターフェースのスタイル設定を行います。また 広告表示オプションは 制限された UI 要素を Chrome 自体に追加できます。
localStorage にはどのくらいのデータを保存できますか?
拡張機能では、localStorage に最大 5 MB のデータを格納できます。
アプリケーションのオプション メニューを作成するにはどうすればよいですか?
ユーザーが拡張機能のオプションを設定できるようにするには、オプション ページを作成します。 ユーザーが「オプション」をクリックしたときに読み込まれるシンプルな HTML ページクリックします。 このページでは、localStorage に対して設定の読み取りと書き込みを行うことができます。また、ウェブサーバーにオプションを送信して、 ブラウザ間で保持できます。
拡張機能のデベロッパーが使用できるデバッグツールは何ですか?
Chrome に組み込まれているデベロッパー ツールを使用して、拡張機能やウェブページをデバッグできます。こちらを参照 詳しくは、拡張機能のデバッグに関するチュートリアルをご覧ください。
トップレベル ドメイン(TLD)でワイルドカード一致が機能しないのはなぜですか?
http://google.*/*
のようなワイルドカード一致パターンを使用して TLD(例:
http://google.es
や http://google.fr
など)に関連付けられたパラメータ、
目的のドメインにのみ一致します。
http://google.*/*
の場合、Google ドメインは一致しますが、一致します。
http://google.someotherdomain.com
。また、多くのサイトが自社サイトのすべての TLD を所有しているわけではありません。
できます。たとえば、http://example.*/*
を使用して http://example.com
と一致するとします。
および http://example.es
ですが、http://example.net
は悪意のあるサイトです。拡張機能にバグがある場合は
悪意のあるサイトが拡張機能にアクセスするために、拡張機能を攻撃する可能性があります
権限が増えます。
拡張機能を実行する TLD を明示的に列挙する必要があります。
拡張機能をインストールまたはアンインストールしたときに Management API がイベントを送信しないのはなぜですか?
Management API は、新しいタブページの代替拡張機能の作成を支援することを目的としていました。そうではない 現在の拡張機能のインストール/アンインストール イベントを発生させることを目的としています。
拡張機能の初回実行はどのようにして判断できますか?
runtime.onInstalled イベントをリッスンできます。こちらのよくある質問をご覧ください。
機能とバグ
虫を見つけたみたい!修正されたことを確認するにはどうすればよいですか?
拡張機能の開発中に、拡張機能と一致しない動作が見つかることがある Chrome のバグが原因である可能性があります。最善の方法は、すべての Pod が 適切な問題レポートが提出され、Chromium チームが問題を再現するのに十分な情報が 確認します。
これを確実に行うための手順は次のとおりです。
- 報告する問題を表す最小限のテスト拡張機能を作成します。この 拡張機能では、バグを再現するためのコードをできるだけ少なくする必要があります。通常は、 コードは 100 行以下。多くの場合 デベロッパーが問題を再現できないことが これは、バグが独自のコードにあることを示します。
- http://crbug.com で Issue Tracker を検索して、同様の問題が報告されていないか調べてください。
あります。拡張機能に関する問題のほとんどは component=Platform>Extensions に記録されるため、
chrome.tabs.executeScript 関数に関連する拡張機能のバグ(たとえば、
「
component=Platform>Extensions Type=Bug chrome.tabs.executeScript
」を検索すると こちらの結果リストをご覧ください。 - 問題を表すバグが見つかった場合は、スターアイコンをクリックしてバグが報告されたときに通知が届きます。 アップデートを受信します。バグに「私も」と返信しないでください。「これはいつになるか」と 修正しますか?」;このような更新により、数百通のメールが送信されます。コメントがある場合のみ追加してください (より適切なテストケースや修正案など)に役立つと思われる情報。
- スターを付けるのに適したバグが見つからなかった場合は、http://crbug.com/new で新たに問題を報告してください。 このフォームは、できるだけわかりやすくご記入ください。わかりやすいタイトルを付け、 バグを再現する手順を記述し、想定される動作と実際の動作を記述します。テストの接続 必要に応じてスクリーンショットを追加してください。レポートが使いやすくなれば、 他の人に問題を再現してもらうことで、バグが迅速に修正される可能性が高くなります。
- バグが更新されるまで待ちます。新しいバグのほとんどは 1 週間以内にトリアージされますが、 更新に時間がかかる場合があります。問題の発生時期を尋ねるためにバグに返信しないでください。 修正しました2 週間経ってもバグが変更されない場合は、 ディスカッション グループに投稿してください。
- 最初にディスカッション グループでバグを報告し、このよくある質問エントリに誘導された場合は、 スターを付けたバグまたは報告したバグへのリンクを、元のスレッドに返信します。これで、 同じ問題が発生している他のユーザーが正しいバグを簡単に見つけられるようにします。
機能リクエストがあるどこに報告すればよいですか?
追加できる機能を特定した場合(特に試験運用版 API に関連する場合)は、 拡張機能の開発エクスペリエンスを向上させるには、問題で適切なリクエストを提出してください 。
これを確実に行うための手順は次のとおりです。
- http://crbug.com の Issue Tracker で、
使用できます。拡張機能に関するリクエストのほとんどは、
component=Platform>Extensions などになるため、
キーボード ショートカット(例: 検索)、
「
component=Platform>Extensions Type=Feature shortcuts
」と入力すると、このリストが できます。 - リクエストに一致するチケットが見つかった場合は、スターアイコンをクリックしてバグが アップデートを受信します。バグに「私も」と返信しないでください。「これはいつになるか」と implemented?";このような更新により、数百通のメールが送信されます。
- スターを付けるのに適したチケットが見つからない場合は、http://crbug.com/new で新たにリクエストを送信してください。行動 その際は、できるだけ詳しくご記入ください。わかりやすいタイトルと説明を記入してください。 希望される機能と使用方法を具体的に記入します。
- チケットが更新されるまで待ちます。新しいリクエストのほとんどは 1 週間以内にトリアージされますが、 更新に時間がかかる場合があります。この機能がいつ利用可能になるか尋ねるためにチケットに返信しないでください。 追加しました。2 週間経ってもチケットが変更されない場合は、 ディスカッション グループに投稿する必要があります。
- 最初にディスカッション グループでリクエストを報告し、このよくある質問をご案内した場合 スターを付けたチケットまたは開いたチケットへのリンクを記載して、元のスレッドに返信します。これにより、 同じリクエストを持つ他のユーザーが正しいチケットを簡単に見つけられるようになります。