Por que não posso abrir uma aba com um botão html enquanto estar na Chrome Web Store?

votos
2

Eu tenho uma página no meu frontend com botões diferentes, todos os botões, por conta própria, funciona perfeitamente, mas se eu clicar no botão que abre uma extensão na Web Store do Chrome e clique em outro botão depois, a página não abre .

Aqui está um exmaple do que estou falando. Se você clicar nos botões sem fechar as abas que se abrem, o botão que você clique após a loja web Chrome abre não terá um efeito. Alguém sabe por que isso acontece e como contornar isso?

https://html-ichr7r.stackblitz.io

Aqui está o código para ele.

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

Qualquer ajuda é apreciada!

EDIT : Eu só descobri que ele funciona no Firefox, ainda não sei por que ele não funciona no Chrome embora.

Publicado 03/12/2019 em 00:02
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Eu tenho um pouco de uma solução: para o seu link mudança webstore do Google popuppara outra coisa como popupWindow, assim você vai ter:

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

Você terá realmente tem duas popups diferentes com este código.

Sobre a explicação, eu sou um pouco no escuro com um presente. Eu acho que Chrome está impedindo a execução de JS sobre https://chrome.google.com/webstore/*como medida de segurança. Você pode ler mais sobre problemas semelhantes aqui e aqui aqui.

Além (depois de ter alguns pensamentos sobre ele):

Esta é provavelmente uma jogada inteligente pelos desenvolvedores do Chrome. Ao não permitir qualquer JS para alterar qualquer uma das páginas https://chrome.google.com/webstore/, têm a certeza de que também sem extensão pode, eventualmente, alterar esta página. Immagine se você instalar uma extensão que faz a coisa no anuncia muito bem para que ele irá obter uma pontuação positiva, enquanto que também altera a página do webstore de extensão. Ele poderia enganar os usuários a instalação de extensões adicionais (hacky / adware-ish) ou software que infectam o navegador ou computador do usuário.

Respondeu 05/12/2019 em 00:41
fonte usuário

votos
0

Eu também não entendo por que isso acontece, mas eu tenho uma maneira tentar isso.

  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>

Respondeu 05/12/2019 em 17:17
fonte usuário

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