2017-10-10 3 views
-1

Ci-dessous est mon script Grease singe/Tamper singe pour cliquer sur les boutons (plusieurs boutons), dont le nom contient 'attach'. Le script fonctionne parfaitement, mais il y a une différence dans Chrome et Firefox.javascript comportement différent en chrome et firefox

Dans Firefox, le clic se fait de haut en bas des boutons 'attacher' (nom contenant). Dans Chrome, il clique de bas en haut pour chaque chargement de page.

  1. Pourquoi est-ce comportement différent
  2. devrais-je utiliser '===' au lieu de '=='?

Ci-dessous mon Greasemonkey/script tampermonkey

var inputs = document.getElementsByTagName('input'); 
for (x = 0; x < inputs.length; x++) { 
myname = inputs[x].getAttribute('name'); 
if (myname.indexOf('attach') == 0) { 
document.getElementsByName(myname) [0].click(); 
} 
} 

Répondre

0

Essayez de corriger les petites erreurs ici et là - parce qu'un navigateur peut corriger automatiquement une erreur de syntaxe alors que les autres ne seront pas (ce qui est souvent le cas pour moi j'ai remarqué)

var inputs = document.getElementsByTagName('input'); 

// Add var to keep scope in the for loop 
for (var x = 0; x < inputs.length; x++) { 

    // Add var here or else it will be global 
    var myname = inputs[x].getAttribute('name'); 

    if (myname.indexOf('attach') == 0) { 

     // Syntax error: remove ' ' after (myname) 
     document.getElementsByName(myname)[0].click(); 
    } 
}