拡張機能アイコンをクリックしたときのように、拡張機能を開く JavaScript 関数を作成しようとしています。拡張機能を新しいタブで開く方法を知っています。
var url = "chrome-extension://kelodmiboakdjlbcdfoceeiafckgojel/login.html";
window.open(url);
しかし、拡張機能のアイコンをクリックしたときのように、ブラウザの右上隅にポップアップを開きたいです。
拡張機能アイコンをクリックしたときのように、拡張機能を開く JavaScript 関数を作成しようとしています。拡張機能を新しいタブで開く方法を知っています。
var url = "chrome-extension://kelodmiboakdjlbcdfoceeiafckgojel/login.html";
window.open(url);
しかし、拡張機能のアイコンをクリックしたときのように、ブラウザの右上隅にポップアップを開きたいです。
Chromium 開発チームは、この機能を有効にしないと明言しています。機能リクエストを参照してください: プログラムで拡張機能のポップアップ バブルを開く:
ブラウザーとページのアクション ポップアップの哲学は、ユーザー アクションによってトリガーされる必要があるということです。私たちの提案は、新しい HTML 通知機能を使用することです...
デスクトップ通知をプログラム的に使用して、ポップアップのような小さな HTML ページをユーザーに表示できます。これは完全な代替品ではありませんが、必要なタイプの機能を提供する可能性があります。
browserAction
簡単な答えは、プログラムで開くことができないということです。ただし、dialog
エミュレートするコンテンツスクリプトを使用して作成し、browserAction
それを(プログラムで)表示することはできます。background page
ただし、このポップアップから拡張機能に直接アクセスすることはできませんpopup.html
。. pass message
代わりに拡張機能を使用する必要があります。
同じ要件がありました。ユーザーが拡張機能のアイコンをクリックすると、小さなポップアップが開くはずです。私の場合、アイコンがクリックされるたびに特定の株に関する最新情報を提供する拡張機能を作成していました。これが私のポップアップの外観です。
同じ要件がある場合は、以下の回答をお読みください。
これが私のmanifest.json
ファイルの外観です。
すべての重労働はmanifest.json
ファイルのみで処理されました。browser_action
と呼ばれるキーがあるセクションがありdefault_popup
、ポップアップに表示する HTML ファイルの名前を入力するだけです。
拡張機能がすべてのページで機能するようにしたかったので、 のmatches
下に属性を追加しましたcontent_scripts
。jquery ファイルを配列jquery-3.2.1.js
内に配置する必要はありませんでしたjs
が、拡張機能マネージャーでは、その配列を空のままにしておくことができませんでした。
これが役に立てば幸いです。答えに疑問がある場合はコメントしてください。