Hvorfor kan jeg ikke åpne en fane med en html-knappen mens du er på Chrome Nettmarked?

stemmer
2

Jeg har fått en side i min frontend med forskjellige knapper, alle knapper, på egen hånd, fungerer perfekt, men hvis jeg klikker på knappen som åpner en utvidelse i Chrome Nettmarked og klikk på en annen knapp etterpå, siden ikke åpnes .

Her er en exmaple av hva jeg snakker om. Hvis du klikker på knappene uten å lukke fanene som åpner, knapp du klikker etter Chrome Nettmarked åpner ikke vil ha en effekt. Vet noen hvorfor det er og hvordan du kan omgå det?

https://html-ichr7r.stackblitz.io

Her er koden for det.

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

Alle hjelpe er verdsatt!

EDIT : Jeg har nettopp funnet ut at det fungerer i Firefox, vet fortsatt ikke hvorfor det ikke fungerer i Chrome skjønt.

Publisert på 03/12/2019 klokken 00:02
kilden bruker
På andre språk...                            


2 svar

stemmer
1

Jeg har litt av en løsning: for Google nettbutikk lenke endring popuptil noe annet som popupWindow, så du må:

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

Du vil ha faktisk ha to forskjellige popups med denne koden.

Om forklaringen, jeg er litt i mørket med denne. Jeg tror Chrome hindrer gjennomføring av JS på https://chrome.google.com/webstore/*som et sikkerhetstiltak. Du kan lese mer om lignende problemer her og her her.

Tillegg (etter å ha noen tanker om det):

Dette er trolig et smart trekk av utviklerne av Chrome. Ved å ikke tillate noen JS for å endre noen av sidene på https://chrome.google.com/webstore/, de er sikker på at heller ingen utvidelse kan muligens endre denne siden. Immagine hvis du installerer en utvidelse som gjør ting i annonserer ganske godt slik at det får en positiv score, mens det også endrer siden av utvidelsen nettbutikk. Det kan lure brukere til å installere ekstra (Hacky / adware-ish) utvidelser eller programvare som ville infisere brukere leseren eller datamaskinen.

Svarte 05/12/2019 kl. 00:41
kilden bruker

stemmer
0

Jeg forstår ikke hvorfor dette skjer, men jeg har en måte å prøve dette.

  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>

Svarte 05/12/2019 kl. 17:17
kilden bruker

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