Maison  >  Questions et réponses  >  le corps du texte

Différence entre a.click() dans Firefox et Google

Le code est le suivant

<!-- test.html -->
<button>Click</button>
//test.js
var btn = document.querySelector('button')
btn.onclick = () => {
    var a = document.createElement('a')
    a.href = 'https://www.baidu.com'
    a.target = '_blank'
    a.click()
}

Les questions sont les suivantes :

Il n'y a pas de réponse lorsque vous cliquez sur le bouton dans Firefox, mais cliquer sur le bouton dans Google peut créer une nouvelle page à onglet
Ajouter une phrase test.js dans

 ;
var btn = document.querySelector('button')
btn.onclick = () => {
    var a = document.createElement('a')
    a.href = 'https://www.baidu.com'
    a.target = '_blank'
    
    document.body.appendChild(a)
    
    a.click()
}

Le code réécrit peut s'exécuter normalement dans les deux navigateurs. Je voudrais donc demander à mes amis quelle en est la raison, merci ?

巴扎黑巴扎黑2663 Il y a quelques jours825

répondre à tous(2)je répondrai

  • 过去多啦不再A梦

    过去多啦不再A梦2017-07-05 11:03:11

    Propriétaire, n'avez-vous pas exécuté l'événement click juste après l'avoir créé avant de l'ajouter à la page ?

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-07-05 11:03:11

    Le navigateur analysera la différence
    Mais si vous souhaitez cliquer sur un bouton pour accéder à la page Web, vous pouvez simplement utiliser window.open ou location.assign. Pourquoi avez-vous besoin de créer un dom ?

    répondre
    0
  • Annulerrépondre