web-dev-qa-db-ja.com

Google Chrome Extensionポップアップを開いたままにする方法は?

拡張機能のポップアップを開くと、ポップアップに戻って別のウィンドウまたはタブを開いても、開いたままになりません。

ポップアップを開いたままにするように強制する方法はありますか?

31
jprim

serとして、現在、ポップアップを強制的に開いたままにすることはできません。これは、UIチームが行ったUIの決定です。設定を強制したい場合は、ポップアップアイコンを変更したり、要求時に新しいタブを開いたり、登録用の新しいポップアップビューを表示したりして、別の方法でこれを表示できます。

developerとして、ポップアップを検査します。開いたままになります。

26
Mohamed Mansour

開発者モードでない限り、あなたは Chromeポップアップが閉じるのを止めることはできません を止めることはできません。ただし、この代替手段を検討することもできます。

代わりに通常のポップアップを起動します。

popup.htmlファイルに、これを実行するJavaScriptファイルをロードします。

var popupWindow = window.open(
    chrome.extension.getURL("normal_popup.html"),
    "exampleName",
    "width=400,height=400"
);
window.close(); // close the Chrome extension pop-up

これにより、拡張機能のファイルnormal_popup.htmlが通常のポップアップウィンドウで開きます。このウィンドウは、フォーカスを失っても閉じません。 nameパラメータが同じであるため、ユーザーがpopup.htmlをもう一度起動すると、ポップアップウィンドウが再利用されます。

7
Flimm

FAQ here: http://developer.chrome.com/extensions/faq.html#faq-persist-popups への回答

ユーザーがポップアップ以外のブラウザの一部にフォーカスすると、ポップアップは自動的に閉じます。ユーザーがクリックした後、ポップアップを開いたままにする方法はありません。

6
Komal Waseem

「chrome:// flags /#enable-panels」でパネルを有効にすると、次のようなものを使用できます。

chrome.windows.create({
    url:"popup.html",
    type:"panel",
    width:300,
    height:200
});

代わりにパネルウィンドウを開くと、画面の下から動かさない限り、常に上に表示されます。

2
user4162184

他の人が言ったように、これはポップアップUIの意図的な制限です。

代わりに、ポップアップに必要なコンテンツを既存のページをホバーする要素にロードするHTMLをページに挿入できます。クローズ機能を自分で実装する必要がありますが、それは持続します。

例を見てください。どうやって keyframes.appはそれを行いました: https://github.com/mitchas/Keyframes.app/blob/master/Keyframes.app%20(Extension)/src/inject/ui.js

2
GratefulGuest

この回答 から Chrome開発者ツールが現在のブラウザーウィンドウが閉じたときに閉じないようにするにはどうすればよいですか? 私の場合に非常に役立つもの:


完璧な解決策ではありませんが、次のチェックボックスをオンにすることで、イベントWindow.closeとアンロードにブレークポイントを追加できます。

Developer tools -> "Sources" tab -> Event Listener Breakpoints -> Window -> close

そして

Event Listener Breakpoints -> Load -> unload

両方にマークを付けて、どちらがあなたに最適かを確認してください

0
Derlin

これを回避する最良の方法は次のとおりです。
-アドオンポップアップ内を右クリック
-検査(またはCTRK + Shift + I)

新しいウィンドウがインスペクトで開きます...そのウィンドウを保持するだけで、アドオンポップアップは閉じません

0
ChromeFreak