J'ai une page dans mon frontend avec différents boutons, tous les boutons, à eux seuls, fonctionnent parfaitement, mais si je clique sur le bouton qui ouvre une extension dans la boutique en ligne Chrome et clique sur un autre bouton après, la page ne s'ouvre pas .
Voici un exemple de ce dont je parle. Si vous cliquez sur les boutons sans fermer les onglets qui s'ouvrent, le bouton sur lequel vous cliquez après l'ouverture de la boutique en ligne Chrome n'aura aucun effet. Est-ce que quelqu'un sait pourquoi c'est et comment contourner cela?
https://html-ichr7r.stackblitz.io
Voici le code pour cela.
<button id="button1" onclick="window.open('https://www.facebook.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button2" onclick="window.open('https://www.google.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>
<button id="button3" onclick="window.open('https://chrome.google.com/webstore/detail/dark-mode/dmghijelimhndkbmpgbldicpogfkceaj?hl=de','popup','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button4" onclick="window.open('https://www.9gag.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>
Toute aide est appréciée!
EDIT : Je viens de comprendre que cela fonctionne dans Firefox, je ne sais toujours pas pourquoi cela ne fonctionne pas dans Chrome.
la source
Réponses:
J'ai une solution: pour que votre lien
popup
vers la boutique en ligne Google soit remplacé par quelque chose d'autrepopupWindow
, vous aurez donc:Vous aurez en fait deux popups différents avec ce code.
Concernant l'explication, je suis un peu dans le noir avec celle-ci. Je pense que Chrome empêche l'exécution de JS en
https://chrome.google.com/webstore/*
tant que mesure de sécurité. Vous pouvez en savoir plus sur des problèmes similaires ici et ici ici.Addition (après y avoir réfléchi):
C'est probablement une décision intelligente de la part des développeurs de Chrome. En ne permettant à aucun JS de modifier l'une des pages
https://chrome.google.com/webstore/
, ils sont sûrs qu'aucune extension ne peut également modifier cette page. Imaginez si vous installez une extension qui fait la chose dans les publicités assez bien pour obtenir un score positif, tout en modifiant également la page de la boutique en ligne de l'extension. Cela pourrait inciter les utilisateurs à installer des extensions ou des logiciels supplémentaires (hacky / adware-ish) qui infecteraient le navigateur ou l'ordinateur des utilisateurs.la source
Je ne comprends pas non plus pourquoi cela se produit, mais j'ai un moyen d'essayer cela.
la source