我一直在研究Firefox扩展,但它进展缓慢(部分原因是因为我没有时间去处理它)。我有一个基本框架,验证我可以与外部JSON API通信,在加载时修改任何网页,并显示首选项框。这些都是我写的扩展所必需的Hello Worlds(也许我不需要首选项框)。
突然间我突然发现,我可能忽略了一种更简单的方法。 Since Greasmonkey scripts may be compiled into Firefox Extensions,Greasemonkey可能是更好的方法:
我正在寻找Greasemonkey与“原生”Firefox扩展的比较。还有,有没有人使用“编译”Greasemonkey脚本到FF扩展(经验,问题)?
答案 0 :(得分:6)
我想说,一般来说,如果您的目的是修改网页的显示方式/功能,那么Greasemonkey就是您的选择。如果你有一堆窗口/ UI要显示,你真的超越了Greasemonkey的核心意图,那么最好坚持使用更传统的扩展。
答案 1 :(得分:1)
有人认为greasemonkey脚本无法调用UniversalXPConnect。我遇到了一些问题,不确定这是否可以通过Firefox扩展来解决。但由于无法调用UniversalXPConnect并做一些大事,我感到非常受限制。
答案 2 :(得分:1)
现在谷歌浏览器越来越受欢迎。它还有自己的Extension API。大多数简单的Greasemonkey脚本都会安装在谷歌浏览器上,因为它没有任何调整。如果您使用的是XHR,则可能需要创建Chrome扩展程序。
我相信现在Mozilla已经意识到Firefox扩展需要进行大修。目前他们正在推动Jetpack。很久以前,他们应该从Greasemonkey的成功中获得改进的扩展机制。
我只是在你的问题中添加了更多选项,只有Greasemonkey和Firefox Extension。您需要一种易于在多个浏览器上安装/运行的解决方案。
我会想出我将在浏览器扩展中实现什么'功能',然后看看哪种扩展机制(GM,Jetpack,FF扩展,谷歌Chrome扩展)支持所有功能。
答案 3 :(得分:1)
自从问这个以来,我开始在Firefox中编译Greasemonkey脚本。像魅力一样。
限制是使用Greasemonkey扩展无法做到的所有事情。你不能做一个真正的Firefox附加组件首选项框,也不是很严重的“Chrome”内容。您可以在浏览器中修改的唯一内容是chrome.css,它会在页面加载之前出现。
可能存在其他限制(请参阅Priyank的答案,该答案与访问本地文件系统有关)。
正如philfreo所说,如果您打算修改网页,Greasemonkey是一个很好的方法。我已经看到编译Greasemonkey扩展(令人惊讶)并让它们像在Greasemonkey中那样工作时没有任何问题。