greasemonkey和tampermonkey有什么区别?
的有关信息介绍如下:对开发者来说,Tampermonkey 比 Greasemonkey 好太多了。
原因很简单,Tampermonkey 提供的 API 比 Greasemonkey 多得多,文档也全。总而言之,在漫长的历史发展后,现在你无论用中文还是英文搜索,很可能都会找进 Tampermonkey 的官方文档页面。而 Greasemonkey 文档里寥寥无几的几页,很容易让人误以为进了野鸡网站而直接右上角。
后果就是,由于很多开发者刚开始的时候根本就不清楚这两个管理器的 API 之间有差别,一开始开发的时候就是看的 Tampermonkey 的文档,写出来的脚本当然也只支持 Tampermonkey。现在打开 Greasy Fork 稍微浏览一下就明白了,很多脚本声明了只支持 Tampermonkey 或 Violentmonkey,有更多的脚本没有说明但实际上在 Greasemonkey 无法运行。
举个例子,Tampermonkey 和 Violentmonkey 中的 GM 函数均有两套,一套是形如 GM_setValue() 的同步函数,一套是形如 GM.setValue() 的异步函数。而 Greasemonkey 只支持后者,运行包含前者的脚本会出错。
补充:
至于 Violentmonkey 在 API 上跟 Tampermonkey 几乎不差,但像 GM_info.script.author 这样的字段,在 Violentmonkey 中也获取不到。Greasemonkey 就更不用说了,相比 Tampermonkey 的 GM_info,对应的 http:// GM.info 整个都是残废的。
简而言之,如果你写过用户脚本,肯定会明白 Tampermonkey 那一套 API 用起来是多么舒服(尽管为了兼容性用起来束手束脚)。最后,Tampermonkey 三者中唯一真正支持调试本地脚本的(但在 Firefox 上不行),其他两者出于安全性抑或是其他考虑对此作出了限制(其实也能调,就是非常麻烦)。
对用户来说,主要就是要考虑网上下载到的脚本的兼容问题:
Greasemonkey是Firefox的一个附加组件,最早发布于2005年3月28日,早于Chrome浏览器诞生的2008年。Tampermonkey诞生更晚,兼容Greasemonkey,支持更多的浏览器~
貌似Greasemonkey只有火狐浏览器有。貌似遨游浏览器只支持Violentmonkey。
或 Violentmonkey
或 Violentmonkey