Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript bookmark stopped working in Firefox 13

In Firefox version 13, bookmarklets (bookmarks with a javascript: URL, e.g. javascript: alert("it works") stopped working. Is there any solution to use javascript: bookmarks in Firefox 13?

like image 301
Satya Prakash Avatar asked Jun 21 '12 05:06

Satya Prakash


People also ask

Why is my bookmarklet not working?

If you run into a problem where the Pepperplate bookmarklet is not working in Chrome or Safari, you may need to update the security settings to allow the bookmarklet to work.

Do bookmarklets work in Firefox?

Bookmarklets are natively available in all major browsers, including Mozilla Firefox and Chromium-based browsers like Chrome or Brave.


2 Answers

This is a consequence of Bug 728313 - Using a bookmark keyword to a bookmarklet fails on new tabs, also Bug 739387 - Aurora 13a New Tab display doesn't allow javascript bookmarks to be selected . This bug affects Firefox 13 onwards.

As a consequence of the fix to bug 723808, javascript: bookmarks are disabled in a just-created new tab. If you first load almost any URL, including about:blank, then a Javascript bookmark will work in that tab.

Note that this is about Javascript bookmarks (bookmarklets). You cannot use this workaround to load javascript: URLs typed directly in the location bar. These have been disabled since Firefox 6, as a consequence of bug 656433 (phishing of javascript: URLs). Bug 680302 is a feature request to allow turning javascript: URLs back on through a preference. Valadrem has written the InheritPrincipal extension to remove this restriction (I haven't tested it). You can still type and run Javascript code in the Scratchpad (press Shift+F4, type code, press Ctrl+R).

There are restrictions on the Javascript you can run from the URL bar or from a bookmark. For example, since Firefox 7, you cannot resize the window (consequence of the fix to bug 565541); the services.sync.prefs.sync.dom.disable_window_move_resize controls this restriction.

like image 86
Gilles 'SO- stop being evil' Avatar answered Oct 19 '22 08:10

Gilles 'SO- stop being evil'


NOTE: this solution no longer appears to work as of FF41. See JS Bookmarklets stopped working in Firefox 41.


If you first load almost any URL, including about:blank, then a Javascript bookmark will work in that tab.

Since Firefox's default behavior for new tabs is about:newtab, which is nothing, and bookmarklets only run once something is loaded, you can do the following to set a default page, and then run bookmarklets:

  1. open about:config
  2. find browser.newtab.url
  3. double-click and change from about:newtab to about:blank (or URI of your choice)
  4. Ctrl-T and run bookmarklets in new tabs!
like image 24
Michael Paulukonis Avatar answered Oct 19 '22 07:10

Michael Paulukonis