Greasemonkey - 维基百科,自由的百科全书
文章推薦指數: 80 %
隨使用者腳本引發之技術、操作、及道德上的問題
Greasemonkey
維基百科,自由的百科全書
跳至導覽
跳至搜尋
Greasemonkey原作者AaronBoodman開發者AnthonyLieuallen、JohanSundström[1]及其他13人[2]初始版本2005年3月28日,16年前(2005-03-28)[3]穩定版本4.11(2021年1月27日,12個月前(2021-01-27))
原始碼庫github.com/greasemonkey/greasemonkey
程式語言JavaScript、XUL、CSS作業系統跨平台類型Mozilla擴充套件授權條款MIT授權條款網站www.greasespot.net
於Greasemonkey執行GoogleThumbnail使用者指令碼抓圖。
左邊為關閉GoogleThumbnail的結果,右邊是啟用的結果。
目錄
MozillaFirefox歷史
1.0
2.0
3.0·3.5·3.6
4.0
5.0及更新版本
MozillaFirefox特色
Gecko
附加元件
擴充套件
市場接納度
起源與歷史
網景領航員
Mozilla基金會
MozillaSuite
(分類)閱論編
Greasemonkey,簡稱GM,中文俗稱為「油猴」,是Firefox的一個附加元件。
它讓使用者安裝一些指令碼使大部分HTML為主的網頁於使用者端直接改變得更方便易用。
Greasemonkey可替網頁加入些新功能(例如在亞馬遜書店嵌入商品比價功能)、修正網頁錯誤、組合來自不同網頁的資料、或者數繁不及備載的其他功能。
寫的好的Greasemonkey指令碼甚至可讓其輸出與被修改的頁面整合得天衣無縫,像是原本網頁裡的一部分。
目次
1技術明細
2典型的腳本
3隨使用者腳本引發之技術、操作、及道德上的問題
4Greasemonkey與其它瀏覽器的相容性與相等軟體
4.1其他Mozilla為基礎的瀏覽器
4.2Opera
4.3Konqueror
5類似軟體
6其他選擇
7參見
8參考文獻
9外部連結
9.1評論
技術明細[編輯]
大部分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的猴頭圖示背景就會變為彩色的。
右鍵點擊猴頭圖示,最上面一行就是打開當前網站可用指令碼列表的選項。
Platypus(platypus.mozdev.org)附加元件可讓使用者可以編輯網頁(刪除或者移動某礙眼的部分)。
Platypus隨後將結果存成常駐的Greasemonkey指令碼。
[永久失效連結]
典型的指令碼[編輯]
使用者群已發展大量的指令碼,以下是其中的一些應用:
調整Gmail讓GoogleReader內嵌,因而提供RSS新聞訂閱的選項。
當線上瀏覽某本書時同時顯示對手網站同本書價錢。
去除來自某些站的廣告,包括彈出視窗與Google文字廣告。
改變網頁的版面,包括原本該網頁作者未考慮到的元素大小與瀏覽器畫面大小。
自動完成表單。
瀏覽某些佈告欄網站自動過濾特定的發帖人。
增刪網頁上的某些功能。
讓使用者從某些影片站點如GoogleVideo以及YouTube存下FLV或MP4視訊檔案。
從現行網頁找尋任何RSS新聞訂閱,並將它們顯示在可擴展、漂浮於網頁上的面板裡。
將百度貼吧輸入框裏的文字轉換為圖片發表,或者在發貼時自動附加指定語句(俗稱「小尾巴」)。
隨使用者指令碼引發之技術、操作、及道德上的問題[編輯]
許多Firefox社群的成員,以及相當多的技術分析師,警告Greasemonkey的使用氾濫,並且相關的使用者指令碼技術需要在發佈時更注意。
他們的關注包括:
可能讓某些廣告網站生意受阻。
許多Firefox使用者已經利用AdblockPlus屏閉掉網頁廣告,不過Greasemonkey可被用來換掉原廣告主的廣告成為它競爭對手的廣告。
這導致對網頁廣告人為灌水,或者戲弄被付費廣告商的統計程式。
增加網站每頁的垃圾流量。
某些Greasemonkey指令碼是設計來取得使用者拜訪哪些網頁的額外資訊,比如那些從del.icio.us、黑米、或者Bloglines提供的指令碼。
如果這些指令碼被廣泛使用,它們有可能造成被拜訪網站不必要的額外流量。
隨著許多網頁專用的指令碼激增,分辨某網頁的問題是實際上網頁編程上的BUG,還是存取者本地端Greasemonkey指令碼的困難度也隨之增加。
基於如此,抓蟲除錯更為麻煩。
指令碼錯誤大致肇因於Greasemonkey開發者與網站開發者缺乏互動。
Greasemonkey只有對HTML網頁有效,對於Flash、Flex,以及Silverlight開發的網頁無效。
多樣化網際網路應用程式對Greasemonkey指令碼開發者來說比靜態網頁更困難控制。
這是因為該網頁程式執行越多的邏輯,Greasemonkey作者得考慮得越複雜才不會打擾到原本程式的功能。
原本的網站開發者推出新版時會造成相對應Greasemonkey指令碼停止工作。
因此,沒有與原本網站開發者互動而撰寫的Greasemonkey指令碼可能在一時發揮作用,但終非長遠之計。
Greasemonkey與其它瀏覽器的相容性與相等軟體[編輯]
其他Mozilla為基礎的瀏覽器[編輯]
Greasemonkey可直接用於Firefox、Flock、與Epiphany。
EpiphanyGreasemonkey是Epiphany附加元件包的一部分。
然而,該附加元件並不完全相容於2.15.1版,導因於某些Greasemonkey應用程式介面功能(例如:GM_getValue)不支援。
此外,也有自訂版本的SeaMonkey:xsidebar.mozdev.org/modifiedmisc.html#greasemonkey。
Opera[編輯]
Opera第8版也增加了使用者指令碼功能Archive.is的存檔,存檔日期2012-09-10。
隨著Opera與Firefox支援W3C文件物件模型(DOM),許多Greasemonkey使用者指令碼現在在Opera下執行正確。
Konqueror[編輯]
Konqueror使用者指令碼(頁面存檔備份,存於網際網路檔案館)是一種給KDEKonqueror的網頁修改工具,其目的在相容於Greasemonkey指令碼與後資料集。
它以一種KPart而存在。
類似軟體[編輯]
Scriptish具備和Greasemonkey一樣的作用,所有Greasemonkey指令碼都能在Scriptish中執行。
Scriptish源於Greasemonkey,但對後者做了改進。
[4]
Proxomitron,開發於1990年代晚期,程式於JavaScript前載入並主動監視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、Privoxy或Proxomitron以更改HTML。
使用Opera瀏覽器+使用者.js指令碼。
參見[編輯]
軟體主題
Adblock
Firefox擴充套件列表
參考文獻[編輯]
^TheweblogaboutGreasemonkey.[2010-12-28].(原始內容存檔於2013-06-25).
^Thegreasemonkeynetworkgraph.[2010-12-28].(原始內容存檔於2019-09-11).
^InitialGreasemonkeyRelease.[2010-12-28].(原始內容存檔於2021-01-19).
^scriptishwiki.[2012-07-03].(原始內容存檔於2020-11-07)(英語).ScriptishisaforkofGreasemonkey,whichisaFirefoxextensionandthefirstuserscriptengine.GreasemonkeyhadlongsupportedFirefox1.5,andplentyoflegacycodestillexisted.Furthermore,Greasemonkeyneededacompletereorganization,andplentyofnewfeatures.Butunfortunately,developmentofGreasemonkeyistooslow.ThisiswhyScriptishforkedoffGreasemonkey.
外部連結[編輯]
Greasemonkey下載站點(自動在地化)
(英文)Greasemonkey官方網站Archived2012-11-28atWebCite
(英文)GreasemonkeyWiki(頁面存檔備份,存於網際網路檔案館)
(英文)Greasemonkeysourcecode(頁面存檔備份,存於網際網路檔案館)
(英文)《一頭栽進Greasemonkey(頁面存檔備份,存於網際網路檔案館)》,一本用於教導Greasemonkey指令碼撰寫的免費書籍,由MarkPilgrim著作
(英文)舊Greasemonkey指令碼儲藏庫包括很多使用者為其個人需要撰寫,上傳併分享給大眾的指令碼。
(英文)userscripts.org(Greasemonkeyed.com為其前身)-取代dunck.us的指令碼倉庫。
(英文)Greasefire[永久失效連結]必需配合「Greasmonkey」才能運作,因此安裝「Greasefire」前得先安裝「Greasmonkey」才行。
安裝完「Greasefire」後,只要所瀏覽的網頁在「Userscripts.org」有可用的GMScript,「Greasmonkey」的猴子狀態列圖示便會亮起來。
(英文)Greasemonkey禮節Archive.is的存檔,存檔日期2005-04-12
(英文)Greasemonkey與其在商業模型的效果
(英文)指令碼編譯器(頁面存檔備份,存於網際網路檔案館)用來轉換Greasemonkey指令碼成Mozilla附加元件。
(英文)Greasemonkey編譯器轉換Greasemonkey使用者指令碼成完整的convertsGreasemonkeyMozilla附加元件。
(英文)給非技術人員的Greasemonkey解釋(頁面存檔備份,存於網際網路檔案館)
(英文)browserscripts.org指令碼社群。
(英文)Greasemonkey在企業(頁面存檔備份,存於網際網路檔案館)-部落格系列,主題關注當使用Greasemonkey於IT專案時保全與發佈問題。
(英文)InternetDuctTape.com(頁面存檔備份,存於網際網路檔案館)-安裝與使用Greasemonkey使用者指令碼新手指南。
評論[編輯]
(英文)Festa,Paul.Firefoxadd-onletssurferstweaksites,butisitsafe?.CNET.2005年3月24日[2007年10月24日].(原始內容存檔於2006年9月5日).
(英文)Singel,Ryan.FirefoxUsersMonkeyWiththeWeb?.Wiredmagazine.2005年5月17日[2007年10月24日].(原始內容存檔於2008年9月6日).
取自「https://zh.wikipedia.org/w/index.php?title=Greasemonkey&oldid=65874808」
分類:Firefox附加組件用JavaScript編程的自由軟體隱藏分類:CS1英語來源(en)含有英語的條目自2019年10月帶有失效連結的條目條目有永久失效的外部連結自2017年11月帶有失效連結的條目Webarchive模板archiveis連結
導覽選單
個人工具
沒有登入討論貢獻建立帳號登入
命名空間
條目討論
臺灣正體
已展開
已摺疊
不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體
查看
閱讀編輯檢視歷史
更多
已展開
已摺疊
搜尋
導航
首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科
說明
說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科
工具
連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目
列印/匯出
下載為PDF可列印版
其他專案
維基共享資源
其他語言
CatalàČeštinaDeutschEnglishEsperantoEspañolفارسیSuomiFrançaisMagyarItaliano日本語한국어NederlandsPolskiPortuguêsRomânăРусскийSvenskaУкраїнська
編輯連結