2009-01-10 6 views

Répondre

14

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

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

+0

@JimmyP: Merci de l'avoir signalé! –

1

Au meilleur de mes connaissances, l'attribut src correspond aux éléments iframelocation.href. Donc, configurer src-javascript:''; est un peu absurde et le navigateur fera l'une des deux choses:

  • Ignore parce qu'il est pas un URI et ne résout pas à une ressource affichable
  • Exécuter le javascript qui n'a rien produit

De toute façon vous accomplissez très peu. Est-ce que vous avez hérité de ce code ou essayez-vous de faire quelque chose de compliqué avec le iframe?

+0

hérité. Quel rôle joue le path_src? – cbrulak

+1

@cbrulak ça ne fait rien. c'est quelque chose qu'un autre cadre utilise. – Pacerier