Proč nemohu otevřít novou kartu s HTML tlačítka, přičemž je na Internetový obchod Chrome?

hlasů
2

Mám stránky na mém frontendu s různými knoflíky, všechna tlačítka, na jejich vlastní, perfektně fungovat, ale když jsem klikněte na tlačítko, které otevře rozšíření v Internetovém obchodě Chrome a klikněte na další tlačítko poté se stránka neotevře ,

Zde je exmaple toho, co mluvím. Pokud klepnete na tlačítko, aniž by uzavření karty, které jsou otevření, tlačítko klepnete po otevření Internetový obchod Chrome nebude mít vliv. Ví někdo, proč tomu tak je a jak to obejít?

https://html-ichr7r.stackblitz.io

Zde je kód pro něj.

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

Jakákoliv pomoc ocení!

EDIT : Jen jsem zjistil, že to funguje ve Firefoxu, ještě nevím, proč to nefunguje v prohlížeči Chrome ačkoli.

Položena 03/12/2019 v 00:02
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Mám poněkud řešení: pro Google změně internetový obchod odkaz popupna něco jiného, jako popupWindow, takže budete muset:

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

Budete mít skutečně mít dvě různá vyskakovací okna s tímto kódem.

O vysvětlení, jsem trochu ve tmě s tímhle. Myslím, že Chrome brání provádění JS na https://chrome.google.com/webstore/*jako bezpečnostní opatření. Si můžete přečíst další informace o podobných problémech tady a tady sem.

Přídavek (poté, co některé myšlenky o tom):

Jedná se pravděpodobně o chytrý tah vývojáři Chrome. Neumožňuje jakýkoliv JS změnit některou ze stránek na https://chrome.google.com/webstore/, jsou si jisti, že i bez rozšíření může případně změnit tuto stránku. Immagine pokud nainstalujete rozšíření, který dělá věc inzeruje docela dobře, takže to bude mít kladný výsledek, i když také mění na stránku rozšíření internetovém obchodě. Mohlo by to přimět uživatele k instalaci dalších (hacky / adware-ish) rozšíření nebo software, který by infikovat uživatelé prohlížeče nebo počítač.

Odpovězeno 05/12/2019 v 00:41
zdroj uživatelem

hlasů
0

Taky nechápu, proč se to stane, ale mám způsob, jak vyzkoušet to.

  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>

Odpovězeno 05/12/2019 v 17:17
zdroj uživatelem

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