2012-06-21 27 views
13

En la versión Firefox 13, bookmarklets (marcadores con una URL javascript:, por ejemplo javascript: alert("it works") dejó de funcionar. ¿Hay alguna solución para usar javascript: marcadores en Firefox 13?Javascript marcador dejó de funcionar en Firefox 13

+0

Como usuario Nunca he usado el enlace "agregar a marcadores" y no sé si alguien lo usó alguna vez. ¿Siempre fue curioso para quién se implementó esta característica? – zerkms

+0

No, no se trata de "agregar al marcador". Eso es fácil de hacer haciendo clic en la estrella. Tenía un marcador de javascript para completar un formulario. Eso dejó de funcionar. –

+0

y lo que quiere de nosotros? – zerkms

Respuesta

21

Esto es una consecuencia de Bug 728313 - Using a bookmark keyword to a bookmarklet fails on new tabs , también Bug 739387 - Aurora 13a New Tab display doesn't allow javascript bookmarks to be selected. Este error afecta a Firefox 13 en adelante.

Como consecuencia de la revisión a bug 723808, javascript: marcadores están deshabilitadas en una nueva pestaña recién creado. Si la primera carga casi cualquier URL, incluyendo about:blank, a continuación, un Javascript marcador funcionará en esa pestaña.

Tenga en cuenta que esto se trata de marcadores de Javascript (bookmarklets). No puede usar esta solución para cargar javascript: URL escritas directamente en la barra de direcciones. Estos han sido desactivados desde Firefox 6, como consecuencia de bug 656433 (phishing de javascript: URLs). Bug 680302 es una solicitud de función que permite volver a activar las URL javascript: mediante una preferencia. Valadrem ha escrito el InheritPrincipal extension para eliminar esta restricción (no lo he probado). You can still type and run Javascript code in the Scratchpad (prensa Shift + F4, el código de tipo, pulse Ctrl + R).

Existen restricciones sobre el Javascript que puede ejecutar desde la barra de la URL o desde un marcador. Por ejemplo, desde Firefox 7, usted cannot resize the window (consecuencia de la corrección a bug 565541); el services.sync.prefs.sync.dom.disable_window_move_resize controla esta restricción.

7

NOTA: esta solución ya no parece funcionar a partir de FF41. Ver JS Bookmarklets stopped working in Firefox 41.


Si la primera carga casi cualquier URL, incluyendo cerca de: en blanco, a continuación, un marcador Javascript va a trabajar en esa pestaña.

Dado que el comportamiento por defecto de Firefox para nuevas pestañas es about:newtab, que es nada y bookmarklets sólo se ejecutan una vez se carga algo, puede hacer lo siguiente para configurar una página por defecto, y luego se ejecutan bookmarklets:

  1. abierta about:config
  2. encuentran browser.newtab.url
  3. doble clic y el cambio about:newtab-about:blank (o URI de su elección)
  4. Ctrl-T y ejecute bookmarklets en pestañas nuevas!
+0

+1 aquí para proporcionar un solución útil :) – ncoghlan

2

He podido usar bookmarklets en las versiones recientes de firefox (Acabo de probar algunos en FF23). Dos sugerencias:

  1. Reemplazar espacios con% 20.Por ejemplo, probar su ejemplo de código bookmarklet con javascript:alert("it%20works") en lugar de javascript:alert("it works")
  2. Si esto no es suficiente, encerrar todo el bookmarklet dentro de una función anónima, por lo que en su ejemplo, que iba a escribir javascript:((function(){alert("it%20works");})())
+0

no, no funciona para mí en FF23 en ambos sentidos. –

+1

funciona para mí (FF Dev Edition 32) –

Cuestiones relacionadas