2010-05-27 1 views
0

J'ai un petit problème. Lorsque j'exécute un javascript dans une barre d'adresse et que la fonction que j'appelle là-bas renvoie une valeur. La page se déplace vers une nouvelle page. Pour éviter cela, j'utilise un vide (0) à la fin. Mais une fois cela fait, comment puis-je capturer la valeur retournée de la fonction.javascript dans une barre d'adresse

Pour exemple:

javascript:function f(){return 'success'} f();void(0); 

Comment capturer la valeur de retour, quand je tape ceci dans une barre d'adresse?

+0

Dans quel navigateur obtenez-vous ce comportement? – CMS

+1

que voulez-vous faire avec la valeur de retour? – Elangovan

+0

c'est dans IE. Et, si possible, je voudrais mettre la valeur de retour sur la barre d'adresse. – kambamsu

Répondre

0

Qu'en est-il quelque chose comme ceci:

javascript:function f(){return 42}; var r = f(); alert("The result is " + r); void(0); 
+0

ce serait très utile si nous voulions juste voir le résultat. Mais, dans ma situation, je veux capturer de l'extérieur. Donc, par exemple, s'il y a un moyen de le mettre dans la barre d'adresse, cela résoudrait mon problème. – kambamsu

+0

Donc, quelque chose comme 'click me'? –

0

donc si je comprends thisis ce que vous voulez:

  • Sur une page que vous avez créé vous voulez entrer un javascript dans la barre d'adresse
  • Dans la page - vous voulez attraper le résultat de la fonction que vous entrez dans la barre d'adresse

Je ne suis pas sûr de comprendre la raison pour laquelle vous voudriez faire cela, donc si vous décrivez cela, ma réponse ne sera peut-être pas très bonne. Mais si vous avez créé par exemple une fonction appelée test() sur une page, et que vous êtes sur cette page lorsque vous entrez le javascript dans la barre d'adresse, vous pouvez envoyer les données dans cette fonction, et ainsi la capture de la valeur dans un paramètre

javascript:function f(){return 'success'} test(f());void(0); 

Si vous avez ce javascript sur la page, il sera appelé et une alerte avec le texte « succès » apparaît. Je dois dire cependant, je ne peux pas imaginer quand l'utiliser autrement que peut-être tester les fonctions javascript sur une page.

0

Il n'est pas possible de modifier la barre d'adresse sans naviguer dans le document. C'est un fait.

En ce qui concerne l'exécution de javascript dans la barre d'adresse en utilisant le gestionnaire de protocole pseudo javascript voir ma réponse à How can empty JavaScript function actually do something?

Questions connexes