代码之家  ›  专栏  ›  技术社区  ›  Dan Rosenstark

火狐扩展与Greasemonkey脚本?[关闭]

  •  10
  • Dan Rosenstark  · 技术社区  · 15 年前

    我一直在开发火狐扩展,但进展缓慢(部分原因是我没有时间来开发它)。我有一个基本的框架,验证了我可以与外部JSONAPI对话,在加载时修改任何网页,并显示一个首选项框。这些都是我正在写的扩展名所必需的Hello Worlds(也许我不需要“首选项”框)。

    我突然想到,我可能忽略了一个更简单的方法。 Since Greasmonkey scripts may be compiled into Firefox Extensions ,Greasemonkey可能是更好的方法:

    1. 可能会更容易(不确定)?
    2. 可能是跨浏览器(至少是Safari和Firefox)?
    3. GreaseMonkey脚本与“本机”FF扩展是否有限制?Chrome用户界面可以写吗?是否弹出正常的分隔?偏好被存储(我认为它们可以)?

    我正在寻找GreaseMonkey和“原生”火狐扩展的比较。此外,是否有人曾将greasemonkey脚本“编译”为FF扩展(经验、问题)?

    4 回复  |  直到 6 年前
        1
  •  5
  •   philfreo    15 年前

    我想说,一般来说,如果你的目的是修改网页的显示/功能方式,那么GreaseMonkey就是你的选择。如果您有一堆窗口/ui要显示,并且您确实超出了Greasemonkey的核心意图,那么最好还是使用更传统的扩展。

        2
  •  1
  •   Priyank Bolia    15 年前

    有人认为GreaseMonkey脚本不能调用UniversalXPConnect。因此我遇到了一些问题,不确定是否可以通过火狐扩展来解决。但是,我觉得自己受到了很大的限制,因为我无法调用UniversalXpConnect并做一些大的事情。

        3
  •  1
  •   user234329    15 年前

    现在谷歌Chrome越来越受欢迎。它也有自己的扩展API。最简单的greasemonkey脚本将安装在谷歌Chrome上,因为它没有任何调整。如果您使用的是XHR,那么您可能需要创建一个chrome扩展。

    我相信现在Mozilla已经意识到火狐的扩展需要大修。目前,他们正在推进喷气背包。他们早就应该从Greasemonkey的成功中得到启示,改进延长机制。

    我只是在补充你的问题,除了Greasemonkey和火狐扩展还有更多的选择。您需要一个易于在多个浏览器上安装/运行的解决方案。

    我会考虑在浏览器扩展中要实现什么“特性”,然后看看哪个扩展机制(gm、jetpack、ff扩展、google chrome扩展)支持所有特性。

        4
  •  1
  •   Dan Rosenstark    15 年前

    既然问了这个问题,我就开始在Firefox中编译greasemonkey脚本。很有魅力。

    限制是所有你不能用GreaseMonkey扩展来做的事情。你不能做一个真正的火狐附加选项框,也不能做太严重的“chrome”事情。在浏览器中唯一可以修改的就是在页面加载之前出现的chrome.css。

    可能还有其他限制(请参阅priyank的答案,这与访问本地文件系统有关)。

    正如菲尔弗雷奥所说,如果你想修改一个网页,Greasemonkey是个不错的选择。我在编译GreaseMonkey扩展(令人惊讶)和让它们像在GreaseMonkey中那样工作方面没有看到任何问题。