2012-06-21 13 views
13

In Firefox versione 13, bookmarklets (segnalibri con un URL javascript:, ad esempio javascript: alert("it works") smesso di funzionare. C'è qualche soluzione da utilizzare javascript: segnalibri in Firefox 13?Javascript segnalibro smesso di funzionare in Firefox 13

+0

Come utente Non ho mai usato il link "aggiungi ai segnalibri" e non so se qualcuno l'abbia mai usato. È sempre stato curioso di sapere per chi è stata implementata questa funzionalità? – zerkms

+0

No, non si tratta di "aggiungi ai preferiti". Questo è solo facile da fare con il clic sulla stella. Ho avuto il segnalibro javascript per compilare un modulo. Questo ha smesso di funzionare. –

+0

e cosa vuoi da noi? – zerkms

risposta

21

Questa è una conseguenza della Bug 728313 - Using a bookmark keyword to a bookmarklet fails on new tabs , anche Bug 739387 - Aurora 13a New Tab display doesn't allow javascript bookmarks to be selected. Questo bug riguarda Firefox 13 in poi.

Come conseguenza della correzione a bug 723808, javascript: segnalibri sono disabilitati in una nuova scheda appena creato. Se primo carico praticamente qualsiasi URL, tra cui about:blank, poi un Javascript il segnalibro funzionerà in quella scheda.

Si noti che si tratta di segnalibri Javascript (bookmarklets). Non è possibile utilizzare questa soluzione alternativa per caricare gli URL javascript: digitati direttamente nella barra degli indirizzi. Questi sono stati disabilitati da Firefox 6, come conseguenza di bug 656433 (phishing degli URL javascript:). Bug 680302 è una richiesta di funzionalità per consentire di attivare gli URL javascript: tramite una preferenza. Valadrem ha scritto il InheritPrincipal extension per rimuovere questa restrizione (non l'ho provato). You can still type and run Javascript code in the Scratchpad (premere Maiusc + F4 , tipo di codice, premere Ctrl + R).

Esistono delle restrizioni sul Javascript che è possibile eseguire dalla barra degli indirizzi o da un segnalibro. Ad esempio, da Firefox 7, si cannot resize the window (conseguenza della correzione a bug 565541); il services.sync.prefs.sync.dom.disable_window_move_resize controlla questa restrizione.

7

NOTA: questa soluzione sembra non funzionare più da FF41. Vedi JS Bookmarklets stopped working in Firefox 41.


Se primo carico praticamente qualsiasi URL, di cui circa: blank, poi un segnalibro Javascript lavorerà in quella scheda.

Poiché il comportamento predefinito di Firefox per nuove schede è about:newtab, che è nulla, e bookmarklets solo eseguire una volta qualcosa è caricato, è possibile effettuare le seguenti operazioni per impostare una pagina di default, e quindi eseguire bookmarklets:

  1. aperta about:config
  2. trovare browser.newtab.url
  3. doppio clic e il cambiamento about:newtab-012.(o URI a scelta)
  4. Ctrl-T ed eseguire bookmarklets in nuove schede!
+0

+1 qui per fornire un soluzione pratica :) – ncoghlan

2

Sono stato in grado di utilizzare i bookmarklets nelle ultime versioni di Firefox (ne ho appena provati alcuni su FF23). Due suggerimenti:

  1. Sostituire gli spazi con% 20.Per esempio, tentare l'esempio di codice bookmarklet con javascript:alert("it%20works") invece di javascript:alert("it works")
  2. Se questo non è sufficiente, racchiudere l'intero bookmarklet all'interno di una funzione anonima, così nel tuo esempio, devi scrivere javascript:((function(){alert("it%20works");})())
+0

no, non funziona per me su FF23 in entrambe le direzioni. –

+1

funziona per me (FF Dev Edition 32) –

Problemi correlati