Jshint: JSHint marque "javascript:void(0);" en tant qu'URL JS

Créé le 23 juin 2014  ·  8Commentaires  ·  Source: jshint/jshint

Si j'affecte le href d'un élément à javascript:void(0); (par opposition à # ), comme ceci :

$('#foobar').attr("href", "javascript:void(0);");

JSHint récupère la construction javascript:void(0); tant qu'URL de script :

PS C:\Users\hal9000\Development\strugee.github.com> grunt lint
Running "jshint:all" (jshint) task

   js\main.js
     30 |    $('#lightbulb-icon').attr("href", "javascript:void(0);");
                                                                    ^ Script URL.

>> 1 error in 4 files

alors qu'en fait il ne fait rien et est sémantiquement valide. Il devrait y avoir une exception pour ces types d'URL de script.

Commentaire le plus utile

Mettez simplement cette ligne en haut de votre fichier pour désactiver l'avertissement :

/*jshint scripturl:true*/

Mais le meilleur moyen est d'utiliser "#" dans le href et de retourner "false" pour tous les événements javascript :

<a href="#" onclick="doSomething();return false;">my link</a>

Tous les 8 commentaires

Peu importe .

Peut-être devrait-il s'agir d'un avertissement spécialisé ? Je ne peux pas être le seul à avoir été dérouté par cela.

Vous n'êtes pas.

Mettez simplement cette ligne en haut de votre fichier pour désactiver l'avertissement :

/*jshint scripturl:true*/

Mais le meilleur moyen est d'utiliser "#" dans le href et de retourner "false" pour tous les événements javascript :

<a href="#" onclick="doSomething();return false;">my link</a>

Non, le meilleur moyen est de garder votre JavaScript hors de votre balisage et attributs :P

@rwaldron : rectification, en effet

$('#foobar').attr("href", "#").click(function() {
  // do it
});

Passe jslint :
$('#foobar').attr('href','javascript'+String.fromCharCode(58)+'void(0);');

@MikeGodin ressemble à un bogue distinct.

@kcampion mettre # et retourner false n'est pas toujours souhaitable
dans mon cas, je ne veux pas que le hash apparaisse

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

ghost picture ghost  ·  5Commentaires

Daniel-Hug picture Daniel-Hug  ·  3Commentaires

NemoStein picture NemoStein  ·  7Commentaires

jugglinmike picture jugglinmike  ·  6Commentaires

TheSavior picture TheSavior  ·  3Commentaires