web-dev-qa-db-fra.com

Comment garder la popup Google Chrome Extension ouverte?

Si j'ouvre ma fenêtre contextuelle d'extension, j'ouvre une autre fenêtre ou un autre onglet après que la fenêtre contextuelle ne reste pas ouverte si j'y retourne.

Y a-t-il un moyen de le forcer pour que le popup reste ouvert?

28
jprim

En tant que utilisateur , vous ne pouvez actuellement pas forcer le popup à rester ouvert. C'est une décision de l'interface utilisateur prise par l'équipe d'interface utilisateur. Si vous souhaitez forcer une configuration, vous pouvez utiliser un autre moyen de le montrer en modifiant l’icône contextuelle, en ouvrant un nouvel onglet à la demande ou en créant une nouvelle vue contextuelle pour l’enregistrement.

En tant que developer , inspectez la fenêtre contextuelle et elle restera ouverte.

26
Mohamed Mansour

En réponse à une FAQ ici: http://developer.chrome.com/extensions/faq.html#faq-persist-popups

Les fenêtres contextuelles se ferment automatiquement lorsque l'utilisateur se concentre sur une partie du navigateur en dehors de la fenêtre contextuelle. Il n'y a aucun moyen de garder la fenêtre ouverte après que l'utilisateur a cliqué.

6
Komal Waseem

Vous ne pouvez pas empêcher la fenêtre contextuelle Chrome de se fermer , sauf si vous êtes en mode développeur. Vous pourriez envisager cette alternative, cependant:

Lancer une pop-up normale à la place:

Dans votre fichier popup.html, chargez un fichier Javascript qui exécute ceci:

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

Cela ouvrira le fichier normal_popup.html de votre extension dans une fenêtre contextuelle normale, qui ne se fermera pas en cas de perte du focus. Comme le paramètre name est identique, la fenêtre contextuelle sera réutilisée si l'utilisateur relance popup.html.

5
Flimm

Si vous activez les panneaux à "chrome: // flags/# enable-panels", vous pouvez utiliser quelque chose comme:

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

pour ouvrir une fenêtre de panneau qui restera au dessus tout le temps tant que vous ne la déplacez pas du bas de l'écran.

2
user4162184

Cette réponse à Comment empêcher les outils de développement Chrome de se fermer lorsque la fenêtre du navigateur en cours se ferme? ce qui est très utile dans mon cas:


La solution n'est pas parfaite, mais vous pouvez ajouter des points d'arrêt aux événements Window.close et décharger en cochant les cases suivantes:

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

Et

Event Listener Breakpoints -> Load -> unload

Essayez de marquer les deux et de voir lequel vous convient le mieux.

0
Derlin

La meilleure façon de contourner ce problème est de:
- Faites un clic droit dans la fenêtre d’extension
- inspecter (ou CTRK + Maj + I)

une nouvelle fenêtre s'ouvrira avec l'inspection ... conservez simplement cette fenêtre et l'addon popup ne se fermera jamais

0
ChromeFreak