油猴腳本編寫教程


前言

油猴腳本(Tampermonkey)是一個非常流行的瀏覽器擴展,它可以運行由廣大社區編寫的擴展腳本,來實現各式各樣的功能,常見的去廣告、修改樣式文件、甚至是下載視頻。今天我們就來看看如何編寫自己的油猴腳本。當然為了運行油猴腳本,你應該在瀏覽器中安裝油猴插件。

油猴腳本文檔

安裝

在chrome / firefox /edge 這些瀏覽器的擴展商店直接搜索 Tampermonkey 即可

腳本編寫方法

功能注釋

首先來看看腳本的內容,在油猴腳本最開始有很多行注釋,這些注釋可以非常有用的,它表明了腳本的各個屬性。下面來簡單介紹一下。

屬性名 作用
@name
油猴腳本的名字
@namespace 命名空間,類似於Java的包名,用來區分相同名稱的腳本,一般寫成作者名字或者網址就可以了
@version 腳本版本,油猴腳本的更新會讀取這個版本號
@description 描述,用來告訴用戶這個腳本是干什么用的
@author 作者名字
@match 只有匹配的網址才會執行對應的腳本,例如、http://http://www.baidu.com/*等,參見谷歌開發者文檔
@grant 指定腳本運行所需權限,如果腳本擁有相應的權限,就可以調用油猴擴展提供的API與瀏覽器進行交互。如果設置為none的話,則不使用沙箱環境,腳本會直接運行在網頁的環境中,這時候無法使用大部分油猴擴展的API。如果不指定的話,油猴會默認添加幾個最常用的API
@require 如果腳本依賴其他js庫的話,可以使用require指令,在運行腳本之前先加載其他庫,常見用法是加載jquery
@connect 當用戶使用GM_xmlhttpRequest請求遠程數據的時候,需要使用connect指定允許訪問的域名,支持域名、子域名、IP地址以及*通配符
@updateURL 腳本更新網址,當油猴擴展檢查更新的時候,會嘗試從這個網址下載腳本,然后比對版本號確認是否更新
@include 腳本應該運行的頁面。允許多個標簽實例。請注意,@include 不支持 URL 哈希參數。
@exclude 排除 URL,即使它們被 @include 或 @match 包含 。允許多個標簽實例。
@run-at 定義腳本被注入的時刻。// @run-at 【document-start|document-body|document-end|document-idle|context-menu】

腳本權限

grant指令那里可以填寫的一些權限,詳情請查看油猴腳本文檔。這里就簡單介紹幾個常用的,可以調用的函數全部以GM_作為開頭。

權限名 功能
unsafeWindow
允許腳本可以完整訪問原始頁面,包括原始頁面的腳本和變量。
GM_getValue (name,defaultValue) 從油猴擴展的存儲中訪問數據。可以設置默認值,在沒成功獲取到數據的時候當做初始值。如果保存的是日期等類型的話,取出來的數據會變成文本,需要自己轉換一下。
GM_setValue (name,value) 將數據保存到存儲中
GM_xmlhttpRequest (details) 異步訪問網頁數據的API,這個方法比較復雜,有大量參數和回調,詳情請參考官方文檔。
GM_setClipboard (data, info) 將數據復制到剪貼板中,第一個參數是要復制的數據,第二個參數是MIME類型,用於指定復制的數據類型。
GM_log (message) 將日志打印到控制台中,可以使用F12開發者工具查看。
GM_addStyle (css) 像網頁中添加自己的樣式表。
GM_notification (details, ondone), GM_notification(text, title, image, onclick) 設置網頁通知,請參考文檔獲取用法。
GM_openInTab (url, loadInBackground) 在瀏覽器中打開網頁,可以設置是否在后台打開等幾個選項


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM