您现在的位置是:首页 > 电脑技术查询 > 电脑知识

greasemonkey

编辑:chaxungu时间:2022-09-28 09:38:08分类:电脑知识

目录·技术明细
·典型的脚本
·随使用者脚本引发的问题
·greasemonkey与其它浏览器的相容性
·类似软件
·其他选择
·官方网站


greasemonkey是网页浏览器mozillafirefox的一个扩展。它让使用者安装一些脚本使大部分html为主的网页于使用者端直接改变得更方便易用。随着greasemonkey脚本长驻于浏览器,每次随着目的网页开启而自动做修改,使得执行脚本的使用者深刻印象地享受其固定便利性。
greasemonkey可替网页加入些新功能(例如在亚马逊书店嵌入商品比价功能)、修正网页错误、组合来自不同网页的资料、或者数繁不及备载的其他功能。写的好的greasemonkey脚本甚至可让其输出与被修改的页面整合得天衣无缝,像是原本网页里的一部分。
技术明细大部分greasemonkey使用者脚本都是自行撰写,使用对某网站专用的javascript代码,透过文档对象模型(dom)接口对网页内容做操作。userscripts.org维护了个greasemonkey数据库。该数据库描述哪个网址网页对应到哪个脚本。(注意:废弃脚本仓库可能还保留许多还没合并到新仓库)。当使用者加载匹配的网页,greasemonkey便呼叫相关的脚本,而该脚本便为该页加入输出结果、删除该页的部分、或者移动碍眼的部分。greasemonkey脚本亦能透过非网域绑定的xmlhttp要求来查询外部http资源。greasemonkey亦遵循某使用者名.user.js的格式,这让当该特定使用者拜访时greasemonkey可自动侦测并提供安装选项。除了javascript代码,greasemonkey脚本包括有限可选用后资料集。该后资料集描述了脚本名称、脚本描述、网址用来区分同名脚本的位址空间、以及原本该脚本为哪些网址撰写的列表。
greasmonkey脚本写作过程要求高技术(虽然比起写个五脏俱全的firefox扩展简单点)。这意味着非常少的一般使用者可以实际上撰写greasemonkey扩展。不过,platypus扩展可让使用者可以编辑网页(删除或者移动某碍眼的部分)。platypus随后将结果存成常驻的greasemonkey脚本。
典型的脚本使用者群已发展下列的脚本:
*调整gmail让googlereader内嵌,因而提供rss新闻订阅的选项。
*当线上浏览某本书时同时显示对手网站同本书价钱。
*去除来自某些站的广告,包括弹出视窗与google文字广告。
*改变网页的版面,包括原本该网页作者未考虑到的元素大小与浏览器画面大小。
*自动完成表单。
*浏览某些布告栏网站自动过滤特定的发帖人。
*增删网页上的某些功能。
*让使用者从某些视频站点如googlevideo以及youtube存下flv视频档案。
*从现行网页找寻任何rss新闻订阅,并将它们显示在可扩展、漂浮于网页上的面板里。
随使用者脚本引发的问题许多firefox社群的成员,以及相当多的技术分析师,警告greasemonkey的使用泛滥,并且相关的使用者脚本技术需要在发布时更注意。他们的关注包括:
*可能让某些广告网站没生意做。许多firefox使用者已经利用adblockplus屏闭掉网页广告,不过greasemonkey可被用来换掉原本广告主的广告成为它竞争对手的广告。这导致对网页广告人为灌水,或者愚弄被付费广告商的统计程式。
*增加网站每页的垃圾流量。某些greasemonkey脚本是设计来取得使用者拜访哪些网页的额外资讯,比如那些从del.icio.us、黑米、或者bloglines提供的脚本。如果这些脚本被广泛使用,它们有可能造成被拜访网站不必要的额外流量。
*随着许多网页专用的脚本激增,分别某网页的问题是实际上网页编程上的臭虫,还是访问者本地端greasemonkey脚本的困难度也随之增加。基于如此,抓虫除错更为麻烦。
*脚本错误大致肇因于greasemonkey开发者与网站开发者缺乏互动。
*greasemonkey只有对html网页有效,对flash,flex,以及silverlight开发的网页无效。
*富网络程式(richinternetapplications)对greasemonkey脚本开发者来说比起静态网页更困难控制。这是因为该网页程式执行越多的逻辑,greasemonkey作者得考虑得越复杂才不会打扰到原本程序的功能。
*原本的网站开发者推出新版时会造成相对应greasemonkey脚本停止工作。因此,没有与原本网站开发者互动而撰写的greasemonkey脚本可能造福一时,但终非长远之计。
greasemonkey与其它浏览器的相容性其他mozilla为基础的浏览器
greasemonkey可直接用于firefox、flock、与epiphany。epiphanygreasemonkey是epiphany扩展包的一部分。然而,该扩展并不完全相容于2.15.1版,导因于某些greasemonkey应用程式接口功能(例如:gm_getvalue)不支援。此外,也有自订版本的seamonkey:。

opera
opera第8版也增加了使用者脚本功能。随着opera与firefox支援w3c文档对象模型(dom),许多greasemonkey使用者脚本现在在opera下执行正确。

safari
creammonkey与pithhelmet(共享软件)是safari浏览器下类似的工具。

konqueror
konqueror使用者脚本是一种给kdekonqueror的网页修改工具,其目的在相容于greasemonkey脚本与后资料集。它以一种kpart而存在。

internetexplorer
在internetexplorer下,ie7pro、imacros、trixie(最近更新于2005)、turnabout(最近更新于2006)、与greasemonkeyforie(最新更新于2006)等等插件提供类似的功能。turnabout曾经是bsd许可的开源软件,不过自2006年9月,源代码不再提供。firefox下的greasemonkey因为持续开发所以旧的ie下的greasemonkey插件便缺少了现代脚本所需要的功能。
类似软件*proxomitron,开发于1990年代晚期,程式于javasscript前加载并主动监视http串流,因此它为跨浏览器相容,并且透过正则表达式相似的比对语言提供类似greasemonkey的功能。
*proximodo受proximitron启发并可相互操作;是一种开源软件,客户端代理服务器所以允许对网页内容动手脚。
*privoxy是一种开源软件,客户端代理服务器所以允许对网页内容动手脚。它支援很多操作系统。
*mousehole是一种开源软件,客户端代理服务器,允许对网页内容透过ruby动手脚。
*monkeygrease是一种javaservlet可用来修改客户端接收到之前的java(版权软件)网页程式输出。
*chickenfoot是一种firefox的扩展用于让终端使用者与黑客于网页上脚本互动。
*给firefox用的imacros是一种firefox的扩展让使用者纪录并重播所谓“因特网宏”,用来执行网页自动化、分析网页、以及测试网页。
*stylish是一种firefox的扩展透过改变用户端的css,进而改变网页的编排。
*bookmarklets可以在任何网页随心所欲的执行javascript,不过它需要使用者点击启用,而非自动执行。
*firebug是一种开发者扩展让使用者随心所欲的透过dom即时改变网页。
其他选择在没有扩展像greasemonkey的情况下,修改网站也可以透过下面几种方式:
*于网址列键入javascript:,或者使用bookmarklets。
*使用浏览器的dom检视器。
*使用本地端http代理服务器,如webwasher或proxomitron以更改html。
*使用opera浏览器+使用者.js脚本。
官方网站http://www.greasespot.net/

上一篇:解放网

下一篇:ie tab