Javascript Evaluator

Lo saque del excelente libro sobre javascript, "JavaScript: The Definitive Guide, 5th Edition" de David Flanagan (esta en la sección 13.4.1. Bookmarklets ). Lo pongo acá principalmente para tenerlo a mano, no para robarle el crédito a David ;). Mi único aporte tal vez sean los ejemplitos de uso (principalmente el último).

Bueno, se trata de un simple script que utilizando el protocolo "javascript:" muestra un diálogo que permite evaluar expresiones javascript en el ambiente de la página actual (por ej, ver y/o setear cookies). A modo de ejemplo, presione el siguiente link
Clickéeme con cariño
ingrese el texto "document.cookie" (sin comillas) y acepte. Debe aparecer algo como lo siguiente:

Expression: document.cookie
Result: JavascriptEvaluator=Hola


Esto es así porque esta página le seteo un cookie llamado JavascriptEvaluator con valor "Hola" y sí, lo hizo sin su consentimiento. Otros ejemplos (copie y pegue en el diálogo):

1) document.title="Pongo lo que quiero yo..."
2) (1024*1024*1024) +" = 1 Giga"
3) function fact(n) { if (n<2) return n; else return n*(fact(n-1)) }; fact(5)

Ahora, si lo desea haga click derecho sobre el link "Clickéeme con cariño" y agregelo a sus bookmaks como cualquier otra URI; de esta manera siempre va a poder usar el JavaScript Evaluator en cualquier momento y sobre cualquier página que desee; simplemente habrá el link del bookmark y el diálogo aparecerá. Por ejemplo, puede ir a google, hacer click en el bookmark y cambiarle el título por "anteojos".

Lo que aparece en link luego de "javascript:" es básicamente un versión "escapada" como URI del siguiente código:


var e="", r="";/*Expression to evaluate and the result*/
do { / Display expression and result and ask for a new expression */
  e = prompt("Expression: " + e + "\n" + r + "\n", e);
  try { r ="Result: " + eval(e); } /* Try to evaluate the expression */
  catch(ex) { r = ex; } /* Or remember the error instead  */}
while(e); /* Continue until no expression entered or Cancel clicked */
void 0;  /* This prevents the current document from being overwritten*/

Saludos y viva Perón carajo!

Comentarios

Autor: lopez
2008-11-27 08:45:17
quiero que manden manuales y con ejemplos de javascript desarrollados
Autor: leonardo
2008-11-27 08:43:48
quiero que me envien ejemplos de javas escript
Dejá un comentario