Pourquoi ne puis-je ouvrir un onglet avec un html bouton tout en étant sur la boutique en ligne de chrome?

voix
2

J'ai une page dans mon frontend avec différents boutons, tous les boutons, sur leur propre travail parfaitement, mais si je clique sur le bouton qui ouvre une extension dans le magasin Chrome Web et cliquez sur un autre bouton après, la page ne pas ouvrir .

Voici un exmaple de ce dont je parle. Si vous cliquez sur les boutons sans fermer les onglets qui sont l'ouverture, le bouton que vous cliquez après le magasin Chrome Web ouvre aura pas d'effet. Quelqu'un sait-il pourquoi et comment de travailler autour de cela?

https://html-ichr7r.stackblitz.io

Voici le code correspondant.

<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, ne sait pas encore pourquoi il ne fonctionne pas dans Chrome cependant.

Créé 03/12/2019 à 00:02
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

J'ai un peu d'une solution: pour votre changement de lien Google webstore popupà autre chose comme popupWindow, de sorte que vous aurez:

<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','popupWindow','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>

Vous aurez en fait avoir deux popups différentes avec ce code.

A propos de l'explication, je suis un peu dans l'obscurité avec celui - ci. Je pense que Chrome empêche l' exécution de JS sur https://chrome.google.com/webstore/*une mesure de sécurité. Vous pouvez en savoir plus sur des problèmes similaires ici et ici ici.

L' addition (après avoir quelques réflexions à ce sujet):

Ceci est probablement une initiative intelligente par les développeurs de Chrome. En ne permettant pas une JS de modifier l' une des pages https://chrome.google.com/webstore/, ils sont sûrs aussi aucune extension peut éventuellement modifier cette page. Immagine si vous installez une extension qui fait la bonne chose en fait de la publicité bien il obtiendra un score positif, alors qu'il modifie également la page de l'extension webstore. Il pourrait inciter les utilisateurs à installer des extensions supplémentaires (hacky / adware-ish) ou des logiciels qui infectent le navigateur des utilisateurs ou de l' ordinateur.

Créé 05/12/2019 à 00:41
source utilisateur

voix
0

Je ne comprends pas pourquoi aussi ce qui se passe mais j'ai un chemin essayer.

  function openWindow(url, type){
    var demo = window.open(url,'popup','width=700,height=300')
      demo.window.close();
        window.open(url,'popup','width=700,height=300')
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="button1" onclick="openWindow('https://www.facebook.com/login')"><strong>CONTINUAR</strong></button><br>
<button id="button2" onclick="openWindow('https://www.google.com/')"><strong>CONTINUAR</strong></button>

<button id="button3" onclick="openWindow('https://chrome.google.com/webstore/')"><strong>CONTINUAR</strong></button><br>
<button id="button4" onclick="openWindow('https://www.9gag.com/')"><strong>CONTINUAR</strong></button>

Créé 05/12/2019 à 17:17
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more