Greasemonkey

，简称GM，中文俗称为“油猴”，是Firefox的一个附加元件。它让使用者安装一些脚本使大部分HTML为主的网页于使用者端直接改变得更方便易用。
Greasemonkey可替网页加入些新功能（例如在亚马逊书店嵌入商品比价功能）、修正网页错误、组合来自不同网页的资料、或者数繁不及备载的其他功能。写的好的Greasemonkey脚本甚至可让其输出与被修改的页面整合得天衣无缝，像是原本网页里的一部分。

**技术明细**
大部分Greasemonkey使用者脚本都是自行撰写，使用对某网站专用的JavaScript代码，透过文档对象模型（DOM）介面对网页内容做操作。//userscripts.org/ userscripts.org维护了个Greasemonkey资料库。该资料库描述哪个网址网页对应到哪个脚本。（注意： 废弃脚本仓库可能还保留许多还没合并到//userscripts.org/ 新仓库的脚本）。但由于userscripts.org在2014年5月发生技术故障而无法访问，一些开发者另设网站以发布脚本，Greasemonkey官网也在其官方Wiki站点设立 列表date=20140521130640 以展示这些网站。
当使用者载入匹配的网页，Greasemonkey便呼叫相关的脚本，而该脚本便根据脚本内容改变网页的内容。Greasemonkey脚本亦能透过非网域绑定的XMLHTTP要求来查询外部HTTP资源。Greasemonkey亦遵循某使用者名.user.js的格式，这让当该特定使用者拜访时Greasemonkey可自动侦测并提供安装选项。除了JavaScript代码，Greasemonkey脚本包括有限可选用后资料集。该后资料集描述了脚本名称、脚本描述、网址用来区分同名脚本的位址空间、以及原本该脚本为哪些网址撰写的列表。-  Greasefire扩展fix-attempted=yes ：同Greasemonkey扩展配合使用，自动显示在userscripts.org的脚本库中是否存在可以在当前正在浏览网站上使用的脚本，如果存在Greasemonkey的猴头图标背景就会变为彩色的。右键点击猴头图标，最上面一行就是打开当前网站可用脚本列表的选项。- Platypus（）附加元件可让使用者可以编辑网页（删除或者移动某碍眼的部分）。Platypus随后将结果存成常驻的Greasemonkey脚本。fix-attempted=yes 

**典型的脚本**
使用者群已发展大量的脚本，以下是其中的一些应用：- 调整Gmail让Google Reader内嵌，因而提供RSS新闻订阅的选项。- 当线上浏览某本书时同时显示对手网站同本书价钱。- 去除来自某些站的广告，包括弹出视窗与Google文字广告。- 改变网页的版面，包括原本该网页作者未考虑到的元素大小与浏览器画面大小。- 自动完成表单。- 浏览某些布告栏网站自动过滤特定的发帖人。- 增删网页上的某些功能。- 让使用者从某些影片站点如Google Video以及YouTube存下FLV或MP4影片档案。- 从现行网页找寻任何RSS新闻订阅，并将它们显示在可扩展、漂浮于网页上的面板里。- 将百度贴吧输入框里的文字转换为图片发表，或者在发贴时自动附加指定语句（俗称“小尾巴”）。

**随使用者脚本引发之技术、操作、及道德上的问题**
许多Firefox社群的成员，以及相当多的技术分析师，警告Greasemonkey的使用泛滥，并且相关的使用者脚本技术需要在发布时更注意。他们的关注包括：- 可能让某些广告网站生意受阻。许多Firefox使用者已经利用Adblock Plus屏闭掉网页广告，不过Greasemonkey可被用来换掉原广告主的广告成为它竞争对手的广告。这导致对网页广告人为灌水，或者戏弄被付费广告商的统计程式。- 增加网站每页的垃圾流量。某些Greasemonkey脚本是设计来取得使用者拜访哪些网页的额外资讯，比如那些从del.icio.us、黑米、或者-{Bloglines}-提供的脚本。如果这些脚本被广泛使用，它们有可能造成被拜访网站不必要的额外流量。- 随着许多网页专用的脚本激增，分辨某网页的问题是实际上网页编程上的BUG，还是访问者本地端Greasemonkey脚本的困难度也随之增加。基于如此，抓虫除错更为麻烦。- 脚本错误大致肇因于Greasemonkey开发者与网站开发者缺乏互动。- Greasemonkey只有对HTML网页有效，对于Flash、Flex，以及Silverlight开发的网页无效。- 多样化网际网路应用程式对Greasemonkey脚本开发者来说比静态网页更困难控制。这是因为该网页程式执行越多的逻辑，Greasemonkey作者得考虑得越复杂才不会打扰到原本程序的功能。- 原本的网站开发者推出新版时会造成相对应Greasemonkey脚本停止工作。因此，没有与原本网站开发者互动而撰写的Greasemonkey脚本可能在一时发挥作用，但终非长远之计。

**Greasemonkey与其它浏览器的相容性与相等软体**

**其他Mozilla为基础的浏览器**
Greasemonkey可直接用于Firefox、Flock、与Epiphany。Epiphany Greasemonkey是Epiphany附加元件包的一部分。然而，该附加元件并不完全相容于2.15.1版，导因于某些Greasemonkey应用程式介面功能（例如：GM_getValue）不支援。此外，也有自订版本的SeaMonkey：。

**Opera**
Opera第8版也增加了 使用者脚本功能date=2012-09-10 。随着Opera与Firefox支援W3C文档对象模型（DOM），许多Greasemonkey使用者脚本现在在Opera下执行正确。

**Konqueror**
Konqueror使用者脚本 date=20160326095109 是一种给KDE Konqueror的网页修改工具，其目的在相容于Greasemonkey脚本与后资料集。它以一种KPart而存在。

**类似软体**
  Scriptish具备和Greasemonkey一样的作用，所有Greasemonkey脚本都能在Scriptish中运行。Scriptish源于Greasemonkey，但对后者做了改进。- Proxomitron，开发于1990年代晚期，程式于JavaScript前载入并主动监视HTTP串流，因此它为跨浏览器相容，并且透过正则表达式相似的比对语言提供类似Greasemonkey的功能。-  Proximododate=20051214124409 受proximitron启发并可相互操作；是一种开源软体，客户端代理伺服器所以允许对网页内容动手脚。-  Privoxy date=20210130112517 是一种开源软体，客户端代理伺服器所以允许对网页内容动手脚。它支援很多操作系统。-  MouseHole是一种开源软体，客户端代理伺服器，允许对网页内容透过Ruby动手脚。-  Monkeygrease date=20201129141035 是一种JavaServlet可用来修改客户端接收到之前的Java（版权软体）网页程式输出。-  Chickenfoot date=20161021225956 是一种Firefox的附加元件用于让终端使用者与骇客于网页上脚本互动。-  给Firefox用的iMacrosfix-attempted=yes 是一种Firefox的附加元件让使用者纪录并重播所谓「网际网路巨集」，用来执行网页自动化、分析网页、以及测试网页。- Stylish是一种Firefox的附加元件透过改变用户端的CSS，进而改变网页的编排。- Bookmarklets可以在任何网页随心所欲的执行JavaScript，不过它需要使用者点击启用，而非自动执行。- Firebug是一种开发者附加元件让使用者随心所欲的透过DOM即时改变网页。

**其他选择**
在没有附加元件像Greasemonkey的情况下，修改网站也可以透过下面几种方式：- 于网址列键入javascript:，或者使用bookmarklets。- 使用浏览器的DOM检视器。- 使用本地端HTTP代理伺服器，如WebWasher、Privoxy或Proxomitron以更改HTML。- 使用Opera浏览器 + 使用者.js脚本。

**参见**
 Adblock- Firefox扩充套件列表

**参考文献**

**外部连结**
  Greasemonkey下载站点（自动本地化）-  Greasemonkey官方网站date=20121207114526 -  Greasemonkey Wiki date=20080820150412 -  Greasemonkey source code date=20210104182820 - 《 一头栽进Greasemonkeydate=20110726001216 》，一本用于教导Greasemonkey脚本撰写的免费书籍，由Mark Pilgrim著作-  旧Greasemonkey脚本储藏库包括很多使用者为其个人需要撰写，上传并分享给大众的脚本。- //userscripts.org/ userscripts.org（ Greasemonkeyed.com为其前身）- 取代dunck.us的脚本仓库。-  Greasefirefix-attempted=yes 必需配合「Greasmonkey」才能运作，因此安装「Greasefire」前得先安装「Greasmonkey」才行。安装完「Greasefire」后，只要所浏览的网页在「Userscripts.org」有可用的GM Script，「Greasmonkey」的猴子状态列图示便会亮起来。-  Greasemonkey礼节date=2005-04-12 -  Greasemonkey与其在商业模型的效果-  脚本编译器 date=20210107141227 用来转换Greasemonkey脚本成Mozilla附加元件。-  Greasemonkey编译器转换Greasemonkey使用者脚本成完整的converts Greasemonkey Mozilla附加元件。-  给非技术人员的Greasemonkey解释date=20070114062606 -  browserscripts.org脚本社群。-  Greasemonkey在企业 date=20080705061348  - 网志系列，主题关注当使用Greasemonkey于IT专案时保全与发布问题。-  InternetDuctTape.com date=20201109025754  - 安装与使用Greasemonkey使用者脚本新手指南。

**评论**
  accessdate=2007年10月24日 -  dead-url=no