56

拡張機能アイコンをクリックしたときのように、拡張機能を開く JavaScript 関数を作成しようとしています。拡張機能を新しいタブで開く方法を知っています。

var url = "chrome-extension://kelodmiboakdjlbcdfoceeiafckgojel/login.html";
window.open(url);

しかし、拡張機能のアイコンをクリックしたときのように、ブラウザの右上隅にポップアップを開きたいです。

4

5 に答える 5

38

Chromium 開発チームは、この機能を有効にしないと明言しています。機能リクエストを参照してください: プログラムで拡張機能のポップアップ バブルを開く:

ブラウザーとページのアクション ポップアップの哲学は、ユーザー アクションによってトリガーされる必要があるということです。私たちの提案は、新しい HTML 通知機能を使用することです...

デスクトップ通知をプログラム的に使用して、ポップアップのような小さな HTML ページをユーザーに表示できます。これは完全な代替品ではありませんが、必要なタイプの機能を提供する可能性があります。

于 2012-05-07T15:28:22.737 に答える
7

browserAction簡単な答えは、プログラムで開くことができないということです。ただし、dialogエミュレートするコンテンツスクリプトを使用して作成し、browserActionそれを(プログラムで)表示することはできます。background pageただし、このポップアップから拡張機能に直接アクセスすることはできませんpopup.html。. pass message代わりに拡張機能を使用する必要があります。

于 2012-05-08T07:54:16.710 に答える
-7

同じ要件がありました。ユーザーが拡張機能のアイコンをクリックすると、小さなポップアップが開くはずです。私の場合、アイコンがクリックされるたびに特定の株に関する最新情報を提供する拡張機能を作成していました。これが私のポップアップの外観です。

ここに画像の説明を入力

同じ要件がある場合は、以下の回答をお読みください。

これが私のmanifest.jsonファイルの外観です。

ここに画像の説明を入力

すべての重労働はmanifest.jsonファイルのみで処理されました。browser_actionと呼ばれるキーがあるセクションがありdefault_popup、ポップアップに表示する HTML ファイルの名前を入力するだけです。

拡張機能がすべてのページで機能するようにしたかったので、 のmatches下に属性を追加しましたcontent_scripts。jquery ファイルを配列jquery-3.2.1.js内に配置する必要はありませんでしたjsが、拡張機能マネージャーでは、その配列を空のままにしておくことができませんでした。

これが役に立てば幸いです。答えに疑問がある場合はコメントしてください。

于 2017-11-11T18:37:34.150 に答える