Il indique au navigateur d'afficher le résultat de l'exécution de la chaîne vide littérale. Par conséquent, il afficherait simplement une chaîne vide.
Vous pouvez tester l'effet de ceci en tapant javascript:'http://stackoverflow.com';
dans la barre d'adresse d'une fenêtre/onglet normal. Vous obtiendrez une page blanche indiquant "http://stackoverflow.com" et vous ne serez pas redirigé vers cette URL. C'est pourquoi les bookmarklets enveloppent souvent le code void()
ou une fonction anonyme qui ne retourne rien pour empêcher le navigateur d'afficher le résultat de l'exécution du bookmarklet. Par exemple:
javascript:void(window.open("dom_spy.html"))
Ou:
javascript:(function() { window.open("dom_spy.html"); })()
Si vous utilisez directement le code qui renvoie quelque chose (une nouvelle instance de fenêtre dans ce cas), le navigateur finira par afficher que:
javascript:window.open("dom_spy.html");
Dans Firefox ce qui précède affichera:
[object Window]
Notez qu'il ne suffit pas d'être enveloppé dans un vide. Le navigateur tentera d'afficher le retour de la dernière instruction afin que vous puissiez faire n'importe quoi tant que la dernière instruction ne renvoie rien, par ex. javascript: (function bonjour (msg) {return msg;}) ('BOO!'); void (0); – James
@JimmyP: Merci de l'avoir signalé! –