Agregar un marcador que sea solo javascript, no una URL


Estoy pensando que la razón por la que no puedo hacer esto es porque podría ser un enorme agujero de seguridad, pero aquí va...

Quiero tener un marcador en mi navegador (FF3, preferiblemente) que sea solo un fragmento de código javascript. Simplemente construiría una URL basada en la fecha actual y luego haría una ventana.location = en esa URL.

Sé que podría hacer una página y mantenerla en mi máquina local y simplemente referirme a ella de esa manera, pero me preguntaba si podría omitir ese paso y en realidad tienen la" ubicación " del marcador realmente solo ser javascript. Podría haber jurado que esto era posible hace años, pero no puedo encontrar nada que me diga de cualquier manera ahora.

Author: Nickolay, 2008-08-12

5 answers

Lo que quieres es un bookmarklet son fáciles de crear y deberían funcionar en la mayoría de los navegadores principales.

Editar: Stack overflow parece no permitir la creación de bookmarklets en el contexto del sitio, básicamente puede crear un nuevo marcador y escribir lo siguiente en el campo de ubicación

javascript:window.location='http://www.google.com/search?q='+Date()

Para obtener un bookmarklet que busca en Google la fecha actual.

 58
Author: Pat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-05 19:40:45

Vale la pena señalar que también puede poner eso en una envoltura de funciones. imranamajeed nos lo ilustró muy bien... pero al parecer soy demasiado nuevo en el sitio para subir su puesto. : P

Así que para mayor claridad:

javascript:(function(){
  location.href = location.href + "#";
})();

(los retornos de carro no afectaron el rendimiento en chrome e IE)

 20
Author: Joseph Marikle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-20 15:25:09

Una captura menor. IE solo puede manejar una 508 url de caracteres en este formato. Si lo guardas en IE con una url más larga que esta, se truncará sin previo aviso y, por lo tanto, fallará.

Si necesita un script realmente complejo, necesitará usar un bookmarklet "alojado", donde tiene un marcador corto que inyecta una etiqueta de script en la página, para "llamar" a su bookmarklet alojado.

No Es tan agradable/portátil, pero es la única solución.

 11
Author: scunliffe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 01:57:43

Google Bookmark

javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location)+"&title="+c(b.title),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})();
 10
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-24 20:13:48

Bueno, acabo de crear un marcador en FF3, volví y lo actualizé y agregué la siguiente prueba:

javascript:alert('Wacky%20test%20yo');

Bajo y he aquí, después de guardar y cargar, pude obtener mi alerta.

Estoy seguro de que puedes idear algo similar para tus necesidades.

 8
Author: Dillie-O,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-12 18:31:11