Perché non è possibile aprire una scheda con un pulsante html pur essendo sul Chrome Web Store?

voti
2

Ho una pagina nel mio frontend con diversi pulsanti, tutti i pulsanti, per conto proprio, funzionano perfettamente, ma se si fa clic sul pulsante che apre un'estensione nel Chrome Web Store e cliccare su un altro pulsante in seguito, la pagina non si apre .

Ecco un exmaple di quello che sto parlando. Se si fa clic sui pulsanti senza chiudere le schede che si stanno aprendo, il pulsante si fa clic dopo il Chrome Web Store si apre non avrà un effetto. Qualcuno sa perché questo è e come aggirare questo?

https://html-ichr7r.stackblitz.io

Ecco il codice per esso.

<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>

Ogni aiuto è apprezzato!

EDIT : Ho appena capito che funziona in Firefox, ancora non so perché non funziona in Chrome però.

È pubblicato 03/12/2019 alle 00:02
fonte dall'utente
In altre lingue...                            


2 risposte

voti
1

Ho un po 'di una soluzione: per il vostro Google cambiamento collegamento webstore popupper qualcos'altro come popupWindow, in modo da avere:

<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>

Avrete effettivamente avere due diversi popup con questo codice.

Circa la spiegazione, io sono un po 'al buio con questo. Credo che Chrome sta impedendo l'esecuzione di JS su https://chrome.google.com/webstore/*come misura di sicurezza. Si può leggere di più su problemi simili qui e qui qui.

Aggiunta (dopo avere alcuni pensieri su di esso):

Questa è probabilmente una mossa intelligente da parte degli sviluppatori di Chrome. Non permettendo alcuna JS di modificare una qualsiasi delle pagine su https://chrome.google.com/webstore/, sono sicuro che anche senza estensione può eventualmente modificare questa pagina. Immagine se si installa un interno che fa la cosa in pubblicizza abbastanza bene in modo da otterrà un punteggio positivo, mentre esso anche altera pagina del webstore estensione. Si potrebbe indurre gli utenti a installare ulteriori estensioni (hacky / adware-ish) o software che potrebbero infettare il browser degli utenti o computer.

Risposto il 05/12/2019 a 00:41
fonte dall'utente

voti
0

Anche io non capisco perché questo accade, ma ho un modo provare questo.

  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>

Risposto il 05/12/2019 a 17:17
fonte dall'utente

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