Javascript书签在Firefox 13中停止运行

时间:2012-06-21 05:15:48

标签: javascript firefox bookmarklet bookmarks

在Firefox版本13中,bookmarklets(带有javascript:网址的书签(例如javascript: alert("it works"))停止工作。在Firefox 13中是否有使用javascript:书签的解决方案?

3 个答案:

答案 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 656433javascript:网址的网上钓鱼)导致自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:

  1. 打开about:config
  2. 找到browser.newtab.url
  3. 双击并从about:newtab更改为about:blank(或您选择的URI)
  4. Ctrl-T并在新标签页中运行bookmarklets!

答案 2 :(得分:2)

我已经能够在最新版本的firefox中使用bookmarklet(我刚刚在FF23上测试了一些)。两个建议:

  1. 用%20替换空格。例如,尝试使用javascript:alert("it%20works")代替javascript:alert("it works")
  2. 的示例bookmarklet代码
  3. 如果这还不够,请将整个书签包含在匿名函数中,因此在您的示例中,您要编写javascript:((function(){alert("it%20works");})())