2009-12-01 120 views
10

我一直在做一个Firefox扩展,但它一直很慢(部分是因为我没有时间去处理它)。我有一个基本框架,验证了我可以与外部JSON API交谈,加载时修改任何网页并显示首选项框。对于我正在写的扩展程序,这些都是必需的Hello Worlds(也许我不需要首选项框)。Firefox Expect与Greasemonkey脚本?

突然间我发现我可能忽略了一个更简单的方法来做到这一点。 Since Greasmonkey scripts may be compiled into Firefox Extensions,Greasemonkey可能是更好的选择:

  1. 它可能更容易(不确定)?
  2. 它可能是跨浏览器(至少Safari和Firefox)?
  3. Greasemonkey脚本与“原生”FF扩展有限制吗?可以编写chrome UI吗?正常的DIV会弹出吗?首选项存储(我认为他们可以)?

我正在寻找Greasemonkey与“本机”Firefox扩展的比较。另外,是否有人将“编译”Greasemonkey脚本编译为FF扩展(经验,问题)?

回答

5

我会说,一般来说,如果您的目的是修改网页的显示方式/功能,那么Greasemonkey就是要走的路。如果你有一堆窗口/用户界面可以显示,并且你真的超越了Greasemonkey的核心意图,那么最好还是继续使用更传统的扩展。

+0

感谢Philfreo,这似乎也是我的理解。同时我想进入更多技术方面,特别是编译Greasemonkey扩展(否则用户需要Greasemonkey,对吧?)。 – 2009-12-02 12:59:06

+0

正确...但是如果您想要支持Safari,您仍然必须先提供如何安装GreaseKit的说明......并且使用Greasemonkey的人可能宁愿不安装Firefox的扩展程序 – philfreo 2009-12-02 15:04:06

1

一个人认为greasemonkey脚本无法调用UniversalXPConnect。由于这个原因,我遇到了一些问题,不确定这是否可以通过Firefox扩展来解决。但我感到非常受限制,因为无法调用UniversalXPConnect并做大事。

+0

感谢Priyank,我从你的其他问题看这里http://stackoverflow.com/questions/1284187/universalxpconnect-in-greasemonkey-script – 2009-12-01 18:29:37

1

现在谷歌浏览器正在流行。它也有自己的扩展API。大多数简单的Greasemonkey脚本都会在Google Chrome上安装,因为它没有任何调整。如果您使用XHR,那么您可能需要创建一个Chrome扩展。

我相信现在Mozilla已经意识到Firefox扩展需要彻底改变。目前他们正在推动Jetpack。他们应该在Greasemonkey成功的前提下改进了Extension机制。

我只是添加到您的问题,有更多的选择,然后只是Greasemonkey和Firefox扩展。你需要一个易于在多个浏览器上安装/运行的解决方案。

我想我会在浏览器扩展中实现哪些'功能',然后看看哪个扩展机制(GM,Jetpack,FF扩展,Google Chrome扩展)支持所有功能。

+0

Point taken , 谢谢。 – 2009-12-18 20:59:44

1

由于问了这个问题,我开始在Firefox中编译Greasemonkey脚本。奇迹般有效。

限制是你无法用Greasemonkey扩展所做的所有事情。你不能做一个真正的Firefox插件首选项框,也没有太多严重的“Chrome”的东西。您可以在浏览器中修改的唯一一件事是在加载页面之前某个时候出现的chrome.css。

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

正如philfreo所说,如果你的意图是修改一个网页,Greasemonkey是一个很好的选择。我在编译Greasemonkey扩展(惊人地)时看到了没有问题,并让他们像Greasemonkey一样工作。