免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
油猴使用指南 01:傳說中的「油猴」與用戶腳本

前一段時間在作者群里大家討論,萌生了寫個油猴腳本的想法,主要作用是給頁面上增加一些好玩的功能。在寫腳本的過程中,重新整理了一些關(guān)于油猴腳本的信息,也就有了本文。

油猴腳本:是什么、能干嘛?

油猴腳本,正式的叫法是用戶腳本(user script)。之所以叫做「油猴」,是因為第一個制作這個瀏覽器擴(kuò)展的作者 Aaron Boodman 起名叫做 Greasymonkey,中文直譯就是「油膩的猴子」;后面其他腳本開發(fā)的時候,基本都在沿用 Greasymonkey 的一些基本規(guī)范,這些腳本也就統(tǒng)稱為「油猴腳本」了。

本文后續(xù)還是會采用本名「用戶腳本」。

你可以將用戶腳本理解為一種可以根據(jù)我們的實際需求,為網(wǎng)頁「加料」的手段。如果你之前從來沒有使用過用戶腳本又想體驗一下的話,可以按照以下步驟操作來快速感受一下它的魅力:

  1. 下載瀏覽器擴(kuò)展,絕大部分情況下我都推薦Tampermonkey,根據(jù)你使用的瀏覽器, 可以訪問并安裝:
    1. Chrome-Tampermonkey
    2. Firefox-Tampermonkey
    3. Safari-Tampermonkey
  2. 找到腳本源,這里我把一個腳本發(fā)布在了 Greasyfork 上,大家可以點擊 少數(shù)派作者激勵器 查看。
  3. 頁面中有一個綠色的安裝按鈕,點擊就可以了。

安裝好之后,訪問我的 作者文章頁面 (或者你喜歡的其他作者),在右側(cè)的「成就與徽章」這一部分,你就可以看到多出來了一個新的部分。如果這個作者太長時間沒有更新,就會出現(xiàn)個紅色的字體激勵作者去寫稿哦:

這是一個效果示例

雖然這個腳本非常簡單,但是看到這里,你已經(jīng)了解了用戶腳本最核心的功能了。

用戶腳本的歷史與不同版本

最早的時候,F(xiàn)irefox 火狐瀏覽器向開發(fā)者開放了擴(kuò)展的能力,所有的開發(fā)者可以在火狐瀏覽器開放的能力內(nèi)開發(fā)一些新的能力。 2004 年底,Aaron Boodman 在看到另一個用于精簡網(wǎng)頁的擴(kuò)展的時候,想到了這個絕妙的點子,隨機(jī)在 2005 年初發(fā)布了最初的 0.25版本 Greasymonkey。

Greasymonkey 的火狐擴(kuò)展界面

很快,大家就想到了通過 Greasymonkey 寫一些用于屏蔽廣告的腳本(這個習(xí)俗到現(xiàn)在都還有),但也被一些廣告主吐槽。不過后面等到 ADblock 上線之后大家就轉(zhuǎn)而去噴這一類擴(kuò)展了。

到了 2010 年,隨著 Chrome 瀏覽器高歌猛進(jìn),另一位作者 Jan Biniok 開發(fā)了 Chrome 版本的用戶腳本管理器擴(kuò)展,起名叫做 Tampermonkey,直譯應(yīng)該叫做「篡改的猴子」。

我個人覺得這個名字比 Greasymonkey 更貼切一些,符合用戶腳本的實際作用。

到目前為止,Tampermonkey 已經(jīng)有超過千萬的用戶下載使用了,評分也非常高,是目前平臺支持最完整的用戶腳本擴(kuò)展。Tampermonkey 在權(quán)限控制、腳本編輯和調(diào)試、全局黑白名單這些方面都做得相當(dāng)不錯,易用性相比 Greasymonkey 提升了不少。

Tampermonkey 的 Chrome 擴(kuò)展界面

而 2013 年 Violentmonkey「暴力猴」的上線又解決了兩個痛點:

  • 支持了遨游瀏覽器
  • 完全開源,地址見 GitHub

其實 Greasymonkey 也是開源的1

GitHub 地址
,但到 Tampermonkey 誕生的時候并沒有選擇開源,而是以捐獻(xiàn)軟件的形式出現(xiàn),這一點挺多人比較在意。暴力猴迭代到現(xiàn)在,也更新了非常多版本,支持的平臺已經(jīng)覆蓋了所有主流的瀏覽器平臺,不過界面上還是比較簡單。
Violentmonkey 的 Chrome 擴(kuò)展界面

這幾款主流的瀏覽器擴(kuò)展的支持情況見下表,如果有不當(dāng)請留言指正。

瀏覽器GreasymonkeyTampermonkeyViolentmonkey
Chrome 支持支持
Edge 支持支持
Safari 支持 
Firefox支持支持支持
Opera 支持支持
Vivaldi  支持
Maxthon 遨游  支持
Dolphin 支持 
UC 支持 

用戶腳本的原理淺析

當(dāng)然了,如果要用嚴(yán)謹(jǐn)一點的定義來說,用戶腳本其實是一種注入式的 JavaScript 程序,在網(wǎng)頁本身的程序之外,通過一些手段,將用戶需要的數(shù)據(jù)和邏輯注入到當(dāng)前的網(wǎng)頁中,達(dá)到修改界面、增加功能等等的目的。

換句話說用戶腳本也是 JavaScript。JavaScript 能實現(xiàn)的能力,用戶腳本基本也能做,比如操作頁面元素,可以給頁面中增加、刪減、修改頁面元素,最常見的去廣告腳本就是這么實現(xiàn)的。

不過用戶腳本能提供一些普通 JavaScript 實現(xiàn)不了的能力。Greasymonkey 在最早的 0.25 版本中就帶來了兩個基本的功能:

  • GM_xmlhttpRequest:用于發(fā)起跨域請求
  • GM_registerMenuCommand:當(dāng)用戶操作菜單時,觸發(fā)一個行為

這兩個功能到現(xiàn)在為止仍然非常核心,這里稍微解釋一下背景。

跨域請求

為了安全起見,瀏覽器在頁面加載的時候會有一個同源策略,如果頁面中的 javaScript 來自另一個域名,瀏覽器就會認(rèn)為這個不安全不讓其加載運(yùn)行,但有的時候用戶可能會有一些別的需求。

舉個例子:比如說在京東或者當(dāng)當(dāng)上買書的時候,想看一下豆瓣上用戶的評分,這種情況下就需要用到用戶腳本的這個能力了。在京東的頁面中,我們就可以借助用戶腳本調(diào)用這個 GM_xmlhttpRequest 的 API 去訪問豆瓣平臺的查詢接口。

菜單操作

很多情況下,用戶腳本不需要自動執(zhí)行,而是需要使用者來手動運(yùn)行,這時就需要 GM_registerMenuCommand 了,在點擊之后,觸發(fā)一個寫好的函數(shù),就可以完成改變頁面數(shù)據(jù),或者發(fā)起某些請求的情況。

舉個例子:我在頁面中看到一個不認(rèn)識的單詞,想要查詢一下,這時候選中這個單詞,然后觸發(fā)這個接口,就可以實現(xiàn)查詢的效果(當(dāng)然也有很多的別的能力可以實現(xiàn)劃詞查詢)。

除了這兩個功能之外,目前的用戶腳本,大多采用了 Greasemonkey 制定的 V4 API 規(guī)范。通過這個規(guī)范,我們就能知道用戶腳本可以做什么了。

  • 本地存儲數(shù)據(jù):這個能力和瀏覽器自帶的 localStorage 比較像,可以給予用戶腳本存儲一些數(shù)據(jù)的能力。比如一些個性化的用戶設(shè)置(譬如一張可愛的背景圖)、用戶數(shù)據(jù)(你關(guān)注的股票和基金)等等。
  • 獲取外部資源:譬如從外部的地址獲取圖片、CSS 文件等等。
  • 發(fā)起瀏覽器提醒:調(diào)用瀏覽器右上角的那種提醒,可以指定文字圖片和點擊之后的效果。
  • 打開一個新頁面:這個就很好理解,就是打開一個新的頁面……
  • 設(shè)置剪貼板:這個能力可以訪問你的剪貼板并給里面塞進(jìn)去指定的內(nèi)容。

在 V3 版本的 API 中,還多了幾個能力,包括:

  • 插入 CSS 樣式
  • 下載文件

不過上述的幾個用戶腳本擴(kuò)展也出現(xiàn)了一些自己的差異,比如 Tampermonkey 就支持了插入節(jié)點的能力,也支持獲取當(dāng)前標(biāo)簽頁面信息的能力。

如果你是一個用戶腳本開發(fā)者,需要注意一下這些差異點。

從哪里獲取用戶腳本

指望每一個人都去自己寫腳本是不現(xiàn)實的,這需要大家有一些基本的前端開發(fā)能力。大部分的用戶都是去找一些現(xiàn)成的腳本來使用,這就是所謂的「腳本源」。

最早期的腳本源,最有名的是 userscript.org 站點,不過由于維護(hù)不力,導(dǎo)致后面充斥著各種各樣的有害腳本,非常影響大家使用。目前這個站點已經(jīng)下了,我也沒有給它加上可以點擊的超鏈接。

如果你想體驗,可以訪問 https://userscripts-mirror.org/ 這個鏈接來找到之前的老腳本。

當(dāng)然我更推薦下面的幾個腳本源:

當(dāng)然,直接在 GitHub 上去找腳本也是個不錯的選擇。

用戶腳本 vs. 瀏覽器擴(kuò)展

在上面提到的劃詞翻譯這個例子中我們其實引入了這樣一個問題:同樣一個需求,如果瀏覽器擴(kuò)展和用戶腳本都能實現(xiàn),我們應(yīng)該如何選擇?

一方面,瀏覽器擴(kuò)展相比用戶腳本誕生的時間其實更晚,各家的瀏覽器擴(kuò)展后發(fā)制人,的確也有了比用戶腳本強(qiáng)得多的功能實現(xiàn);但另一方面,雖然腳本能力有限,但是它們占用的系統(tǒng)資源和內(nèi)存又更少一點。

我的 Chrome 擴(kuò)展們占用了不少內(nèi)存

另外,從安全性角度上來說,用戶腳本雖然也爆出過不少 竊取個人信息、替換返利鏈接2

有的腳本作者也會直接在介紹中表示靠返利來補(bǔ)貼服務(wù)器費(fèi)用等,是否要繼續(xù)安裝就看使用者自己了。
甚至 挖礦 的負(fù)面新聞,但用戶腳本的源代碼審查相比瀏覽器擴(kuò)展更為直接透明,選擇合適的用戶腳本獲取渠道、留意腳本的權(quán)限請求,有基礎(chǔ)的用戶也可以多多留意、檢查腳本內(nèi)容,一般就能規(guī)避大部分風(fēng)險。

因此我自己的解決方案是,對于輕量一些的場景,通過用戶腳本+用戶樣式(user style)解決大部分瀏覽需求,重一些的場景則會選擇瀏覽器擴(kuò)展。當(dāng)然了,如果你的設(shè)備對保密性和安全等級有著較高的要求,我還是不建議你安裝任何用戶腳本。

結(jié)語

用戶腳本作為一個 17 年前的互聯(lián)網(wǎng)老古董,現(xiàn)如今仍有自己的用武之地,還是十分令人感慨。但作為油猴使用指南的第一期,本文僅為增加大家對「油猴腳本」的一點了解,如果你想解鎖用戶腳本的全部實力、甚至自己動手制作用戶腳本,還請留意本系列的后續(xù)內(nèi)容更新。

> 下載 少數(shù)派 2.0 客戶端、關(guān)注 少數(shù)派公眾號,解鎖全新閱讀體驗 ??

> 實用、好用的 正版軟件,少數(shù)派為你呈現(xiàn) ??

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
一些實用插件去除百度云大文件下載限制,實現(xiàn)迅雷滿速下載
NB插件
油猴插件:讓你一鍵觀看全網(wǎng)VIP視頻的神器
Wort ? 一個油猴 一個腳本=全網(wǎng)VIP 這操作吊炸天!簡直不敢相信了??!
TamperMonkey:油猴腳本插件超詳細(xì)圖文教程
Chrome瀏覽器如何安裝JS腳本
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服