在Firefox版本13中,bookmarklets(带有javascript:
网址的书签(例如javascript: alert("it works")
)停止工作。在Firefox 13中是否有使用javascript:
书签的解决方案?
答案 0 :(得分:22)
这是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:
书签在刚刚创建的新标签中被停用。如果您首先加载几乎任何网址,包括about:blank
,那么Javascript书签将在该标签中生效。
请注意,这是关于Javascript书签(bookmarklets)。您无法使用此变通方法加载直接在位置栏中输入的javascript:
个网址。由于bug 656433(javascript:
网址的网上钓鱼)导致自Firefox 6以来已禁用这些内容。 Bug 680302是一项功能请求,允许通过首选项重新启用javascript:
个网址。 Valadrem已撰写InheritPrincipal extension以删除此限制(我尚未对其进行测试)。 You can still type and run Javascript code in the Scratchpad(按 Shift + F4 ,输入代码,按 Ctrl + R )。
您可以从网址栏或书签中运行Javascript的限制。例如,自Firefox 7以来,您cannot resize the window(修复bug 565541的结果); services.sync.prefs.sync.dom.disable_window_move_resize
控制此限制。
答案 1 :(得分:7)
注意:此解决方案似乎不再适用于FF41。请参阅JS Bookmarklets stopped working in Firefox 41。
如果您首先加载几乎任何URL,包括about:blank,那么a Javascript书签可以在该标签中使用。
由于Firefox新标签的默认行为是about:newtab
,而没有,而且只有 加载时才运行bookmarklet,您可以执行以下操作设置默认页面,然后运行bookmarklets:
about:config
browser.newtab.url
about:newtab
更改为about:blank
(或您选择的URI)Ctrl-T
并在新标签页中运行bookmarklets!答案 2 :(得分:2)
我已经能够在最新版本的firefox中使用bookmarklet(我刚刚在FF23上测试了一些)。两个建议:
javascript:alert("it%20works")
代替javascript:alert("it works")
javascript:((function(){alert("it%20works");})())