王朝百科
分享
 
 
 

Greasemonkey

王朝百科·作者佚名  2010-03-14  
宽屏版  字体: |||超大  

GreaseMonkey是网页浏览器Mozilla Firefox的一个扩展。它让使用者安装一些脚本使大部分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让Google Reader内嵌,因而提供RSS新闻订阅的选项。

* 当线上浏览某本书时同时显示对手网站同本书价钱。

* 去除来自某些站的广告,包括弹出视窗与Google文字广告。

* 改变网页的版面,包括原本该网页作者未考虑到的元素大小与浏览器画面大小。

* 自动完成表单。

* 浏览某些布告栏网站自动过滤特定的发帖人。

* 增删网页上的某些功能。

* 让使用者从某些视频站点如Google Video以及YouTube存下FLV视频档案。

* 从现行网页找寻任何RSS新闻订阅,并将它们显示在可扩展、漂浮于网页上的面板里。

随使用者脚本引发的问题许多Firefox社群的成员,以及相当多的技术分析师,警告Greasemonkey的使用泛滥,并且相关的使用者脚本技术需要在发布时更注意。他们的关注包括:

* 可能让某些广告网站没生意做。许多Firefox使用者已经利用Adblock Plus屏闭掉网页广告,不过 Greasemonkey 可被用来换掉原本广告主的广告成为它竞争对手的广告。这导致对网页广告人为灌水,或者愚弄被付费广告商的统计程式。

* 增加网站每页的垃圾流量。某些Greasemonkey脚本是设计来取得使用者拜访哪些网页的额外资讯,比如那些从 del.icio.us、黑米、或者Bloglines提供的脚本。如果这些脚本被广泛使用,它们有可能造成被拜访网站不必要的额外流量。

* 随着许多网页专用的脚本激增,分别某网页的问题是实际上网页编程上的臭虫,还是访问者本地端Greasemonkey脚本的困难度也随之增加。基于如此,抓虫除错更为麻烦。

* 脚本错误大致肇因于Greasemonkey开发者与网站开发者缺乏互动。

* Greasemonkey 只有对 HTML 网页有效,对 Flash, Flex, 以及 Silverlight 开发的网页无效。

* 富网络程式 (Rich Internet Applications) 对 Greasemonkey 脚本开发者来说比起静态网页更困难控制。这是因为该网页程式执行越多的逻辑,Greasemonkey 作者得考虑得越复杂才不会打扰到原本程序的功能。

* 原本的网站开发者推出新版时会造成相对应 Greasemonkey 脚本停止工作。因此,没有与原本网站开发者互动而撰写的 Greasemonkey 脚本可能造福一时,但终非长远之计。

Greasemonkey 与其它浏览器的相容性其他Mozilla为基础的浏览器

Greasemonkey可直接用于Firefox、Flock、与Epiphany。Epiphany Greasemonkey是Epiphany扩展包的一部分。然而,该扩展并不完全相容于2.15.1版,导因于某些Greasemonkey应用程式接口功能 (例如:GM_getValue) 不支援。此外,也有自订版本的 SeaMonkey:。

Opera

Opera第8版也增加了使用者脚本功能。随着Opera与Firefox支援W3C文档对象模型(DOM),许多Greasemonkey使用者脚本现在在Opera下执行正确。

Safari

Creammonkey 与 PithHelmet (共享软件) 是Safari浏览器下类似的工具。

Konqueror

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

Internet Explorer

在Internet Explorer下,IE7pro、iMacros、Trixie (最近更新于2005)、Turnabout (最近更新于2006)、与 Greasemonkey for IE (最新更新于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 浏览器 + user .js 脚本。

官方网站http://www.greasespot.net/

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有