跳至內容

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