2012-06-21 2 views
13

В Firefox версии 13, букмарклеты (закладки с javascript: URL, например javascript: alert("it works") перестал работать. Есть ли решение использовать javascript: закладки в Firefox 13?Javascript закладки перестал работать в Firefox 13

+0

Как пользователь Я никогда не использовал ссылку «добавить в закладки», и я не знаю, кто ее когда-либо использовал. Всегда было любопытно, для чего эта функция реализована? – zerkms

+0

Нет, это не про "добавить в закладки". Это просто сделать, нажав на звезду. У меня была закладка javascript для заполнения формы. Это перестало работать. –

+0

и что вы хотите от нас? – zerkms

ответ

21

Это является следствием Bug 728313 - Using a bookmark keyword to a bookmarklet fails on new tabs , также Bug 739387 - Aurora 13a New Tab display doesn't allow javascript bookmarks to be selected. Эта ошибка влияет на Firefox 13 и далее.

в результате исправления к bug 723808, javascript: закладки отключены в только что созданной новой вкладке. Если первая нагрузка практически любой URL, в том числе about:blank, затем Javascript закладка будет работать на этой вкладке.

Обратите внимание, что речь идет о закладках Javascript (закладках). Вы не можете использовать это обходное решение для загрузки URL-адресов javascript:, введенных непосредственно в строке местоположения. Они были отключены с Firefox 6, как следствие bug 656433 (фишинг адресов javascript:). Bug 680302 - это запрос функции, позволяющий возвращать URL-адреса javascript: по собственному предпочтению. Valadrem написал (-а) InheritPrincipal extension, чтобы удалить это ограничение (I have not tested it). You can still type and run Javascript code in the Scratchpad (пресс сдвиг + F4 , код типа, нажмите Ctrl + R).

Есть ограничения на Javascript, который можно запустить из строки URL или из закладки. Например, поскольку Firefox 7, вы cannot resize the window (следствие исправления до bug 565541); services.sync.prefs.sync.dom.disable_window_move_resize контролирует это ограничение.

7

ПРИМЕЧАНИЕ: Данное решение больше не работает с FF41. См. JS Bookmarklets stopped working in Firefox 41.


Если вы сначала загрузить почти любой URL, в том числе о: пусто, то Javascript закладка будет работать на этой вкладке.

Поскольку поведение по умолчанию Firefox для новых вкладок about:newtab, которые не ничего и букмарклеты выполняются только один раз что-то загружается, вы можете сделать следующее, чтобы установить страницу по умолчанию, а затем запустить букмарклеты:

  1. открытой about:config
  2. найти browser.newtab.url
  3. двойной щелчок и изменение от about:newtab до about:blank (или URI на ваш выбор)
  4. Ctrl-T и запустите bookmarklets в новых записях!
+0

+1 здесь для предоставления удобный способ обхода :) – ncoghlan

2

Я смог использовать букмарклеты в последних версиях firefox (я только что проверил несколько на FF23). Два предложения:

  1. Заменить пробелы на% 20.Например, попробуйте ваш пример кода букмарклет с javascript:alert("it%20works") вместо javascript:alert("it works")
  2. Если этого не достаточно, заключите весь букмарклет внутри анонимной функции, поэтому в вашем примере, вы бы написать javascript:((function(){alert("it%20works");})())
+0

нет, он не работает для меня на FF23 в оба конца. –

+1

работает для меня (FF Dev Edition 32) –

Смежные вопросы