跳转到内容

Greasemonkey

本页使用了标题或全文手工转换
维基百科,自由的百科全书
Greasemonkey
原作者Aaron Boodman
開發者Anthony Lieuallen、Johan Sundström[1]及其他13人[2]
首次发布2005年3月28日,​19年前​(2005-03-28[3]
当前版本4.11(2021年1月27日,​3年前​(2021-01-27
源代码库 編輯維基數據鏈接
编程语言JavaScript、XUL、CSS
操作系统跨平台
类型Mozilla擴充套件
许可协议MIT許可證
网站www.greasespot.net


Greasemonkey,簡稱GM,中文俗稱為“油猴”,是Firefox的一個附加元件。它讓使用者安裝一些腳本使大部分HTML為主的網頁於使用者端直接改變得更方便易用。

Greasemonkey可替網頁加入些新功能(例如在亞馬遜書店嵌入商品比價功能)、修正網頁錯誤、組合來自不同網頁的資料、或者數繁不及備載的其他功能。寫的好的Greasemonkey腳本甚至可讓其輸出與被修改的頁面整合得天衣無縫,像是原本網頁裡的一部分。

技術明細

[编辑]

大部分Greasemonkey使用者腳本都是自行撰寫,使用對某網站專用的JavaScript代碼,透過文檔對象模型(DOM)介面對網頁內容做操作。userscripts.org維護了個Greasemonkey資料庫。該資料庫描述哪個網址網頁對應到哪個腳本。(注意:廢棄腳本倉庫可能還保留許多還沒合併到新倉庫的腳本)。但由于userscripts.org在2014年5月发生技术故障而无法访问,一些开发者另设网站以发布脚本,Greasemonkey官网也在其官方Wiki站点设立列表页面存档备份,存于互联网档案馆)以展示这些网站。

當使用者載入匹配的網頁,Greasemonkey便呼叫相關的腳本,而該腳本便根据脚本内容改变网页的内容。Greasemonkey腳本亦能透過非網域綁定的XMLHTTP要求來查詢外部HTTP資源。Greasemonkey亦遵循某使用者名.user.js的格式,這讓當該特定使用者拜訪時Greasemonkey可自動偵測並提供安裝選項。除了JavaScript代碼,Greasemonkey腳本包括有限可選用後資料集。該後資料集描述了腳本名稱、腳本描述、網址用來區分同名腳本的位址空間、以及原本該腳本為哪些網址撰寫的列表。

  • Greasefire扩展[永久失效連結]:同Greasemonkey扩展配合使用,自动显示在userscripts.org的脚本库中是否存在可以在当前正在浏览网站上使用的脚本,如果存在Greasemonkey的猴头图标背景就会变为彩色的。右键点击猴头图标,最上面一行就是打开当前网站可用脚本列表的选项。
  • Platypusplatypus.mozdev.org)附加元件可讓使用者可以編輯網頁(刪除或者移動某礙眼的部分)。Platypus隨後將結果存成常駐的Greasemonkey腳本。[永久失效連結]

典型的腳本

[编辑]

使用者群已發展大量的腳本,以下是其中的一些應用:

  • 調整GmailGoogle Reader內嵌,因而提供RSS新聞訂閱的選項。
  • 當線上瀏覽某本書時同時顯示對手網站同本書價錢。
  • 去除來自某些站的廣告,包括彈出視窗與Google文字廣告
  • 改變網頁的版面,包括原本該網頁作者未考慮到的元素大小與瀏覽器畫面大小。
  • 自動完成表單。
  • 瀏覽某些佈告欄網站自動過濾特定的發帖人。
  • 增刪網頁上的某些功能。
  • 讓使用者從某些影片站點如Google Video以及YouTube存下FLVMP4影片檔案。
  • 從現行網頁找尋任何RSS新聞訂閱,並將它們顯示在可擴展、漂浮於網頁上的面板裡。
  • 百度貼吧輸入框裏的文字轉換為圖片發表,或者在發貼時自动附加指定語句(俗稱“小尾巴”)。

隨使用者腳本引發之技術、操作、及道德上的問題

[编辑]

許多Firefox社群的成員,以及相當多的技術分析師,警告Greasemonkey的使用氾濫,並且相關的使用者腳本技術需要在發佈時更注意。他們的關注包括:

  • 可能讓某些廣告網站生意受阻。許多Firefox使用者已經利用Adblock Plus屏閉掉網頁廣告,不過Greasemonkey可被用來換掉原廣告主的廣告成為它競爭對手的廣告。這導致對網頁廣告人為灌水,或者戲弄被付費廣告商的統計程式。
  • 增加網站每頁的垃圾流量。某些Greasemonkey腳本是設計來取得使用者拜訪哪些網頁的額外資訊,比如那些從del.icio.us、黑米、或者Bloglines提供的腳本。如果這些腳本被廣泛使用,它們有可能造成被拜訪網站不必要的額外流量。
  • 隨著許多網頁專用的腳本激增,分辨某網頁的問題是實際上網頁編程上的BUG,還是訪問者本地端Greasemonkey腳本的困難度也隨之增加。基於如此,抓蟲除錯更為麻煩。
  • 腳本錯誤大致肇因於Greasemonkey開發者與網站開發者缺乏互動。
  • Greasemonkey只有對HTML網頁有效,對於FlashFlex,以及Silverlight開發的網頁無效。
  • 多樣化網際網路應用程式對Greasemonkey腳本開發者來說比靜態網頁更困難控制。這是因為該網頁程式執行越多的邏輯,Greasemonkey作者得考慮得越複雜才不會打擾到原本程序的功能。
  • 原本的網站開發者推出新版時會造成相對應Greasemonkey腳本停止工作。因此,沒有與原本網站開發者互動而撰寫的Greasemonkey腳本可能在一時發揮作用,但終非長遠之計。

Greasemonkey與其它瀏覽器的相容性與相等軟體

[编辑]

其他Mozilla為基礎的瀏覽器

[编辑]

Greasemonkey可直接用於Firefox、Flock、與Epiphany。Epiphany Greasemonkey是Epiphany附加元件包的一部分。然而,該附加元件並不完全相容於2.15.1版,導因於某些Greasemonkey應用程式介面功能(例如:GM_getValue)不支援。此外,也有自訂版本的SeaMonkeyxsidebar.mozdev.org/modifiedmisc.html#greasemonkey

Opera

[编辑]

Opera第8版也增加了使用者腳本功能Archive.is存檔,存档日期2012-09-10。隨著Opera與Firefox支援W3C文檔對象模型(DOM),許多Greasemonkey使用者腳本現在在Opera下執行正確。

Konqueror

[编辑]

Konqueror使用者腳本页面存档备份,存于互联网档案馆)是一種給KDE Konqueror的網頁修改工具,其目的在相容於Greasemonkey腳本與後資料集。它以一種KPart而存在。

類似軟體

[编辑]

其他選擇

[编辑]

在沒有附加元件像Greasemonkey的情況下,修改網站也可以透過下面幾種方式:

  • 於網址列鍵入javascript:,或者使用bookmarklets
  • 使用瀏覽器的DOM檢視器。
  • 使用本地端HTTP代理伺服器,如WebWasherPrivoxyProxomitron以更改HTML。
  • 使用Opera瀏覽器 + 使用者.js腳本。

參見

[编辑]

參考文獻

[编辑]
  1. ^ The weblog about Greasemonkey. [2010-12-28]. (原始内容存档于2013-06-25). 
  2. ^ The greasemonkey network graph. [2010-12-28]. (原始内容存档于2019-09-11). 
  3. ^ Initial Greasemonkey Release. [2010-12-28]. (原始内容存档于2021-01-19). 
  4. ^ scriptish wiki. [2012-07-03]. (原始内容存档于2020-11-07) (英语). Scriptish is a fork of Greasemonkey, which is a Firefox extension and the first user script engine. Greasemonkey had long supported Firefox 1.5, and plenty of legacy code still existed. Furthermore, Greasemonkey needed a complete reorganization, and plenty of new features. But unfortunately, development of Greasemonkey is too slow. This is why Scriptish forked off Greasemonkey. 

外部連結

[编辑]

評論

[编辑]
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy