# 油猴子脚本教程 **Repository Path**: ganymede/tempermonkey-script-guide ## Basic Information - **Project Name**: 油猴子脚本教程 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-04-07 - **Last Updated**: 2025-06-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 脚本编写方法 #### 功能注释 首先来看看脚本的内容,上面是一大排注释,这些注释可以非常有用的,它表明了脚本的各个属性。下面来简单介绍一下。 ``` 属性名 作用 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 脚本更新网址,当油猴扩展检查更新的时候,会尝试从这个网址下载脚本,然后比对版本号确认是否更新 ``` #### 脚本权限 下面简单介绍一下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) 在浏览器中打开网页,可以设置是否在后台打开等几个选项 ``` > 还有一些API没有介绍,请大家直接查看官方文档吧。 ### [使用vscode开发Tampermonkey油猴脚本](https://zhuanlan.zhihu.com/p/263578499) ``` // ==UserScript== // ==UserScript== // @name 本地编译版本 // @namespace http://tampermonkey.net/ // @version 1.1 // @description try to take over the world! // @author You // @match *://* // @include * // @connect * // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @run-at document-start // @require https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js // @require https://cdn.bootcdn.net/ajax/libs/toastr.js/2.1.3/toastr.min.js // @resource toastr_css https://cdn.bootcdn.net/ajax/libs/toastr.js/2.1.3/toastr.min.css // @grant GM_log // @grant GM_info // @grant GM_addStyle // @grant GM_download // @grant GM.getValue // @grant GM_getValue // @grant GM.setValue // @grant GM_setValue // @grant unsafeWindow // @grant GM.openInTab // @grant GM_openInTab // @grant GM.listValues // @grant GM_listValues // @grant GM.deleteValue // @grant GM_deleteValue // @grant GM.xmlHttpRequest // @grant GM_xmlhttpRequest // @grant GM.getResourceUrl // @grant GM.notification // @grant GM_setClipboard // @grant GM.setClipboard // @grant GM_getResourceURL // @grant GM_getResourceText // @grant GM_registerMenuCommand // @grant GM_unregisterMenuCommand // @require file:///C:/Users/12651/WebstormProjects/monkey-script/dist/super-tool.user.js // @require file:///Users/qiongli/WebstormProjects/monkey-script/dist/super-tool.user.js // ==/UserScript== ``` 油猴可以 // @require ... 的方法引用外部js文件,如果要引用本地文件,需要在浏览器插件设置中允许油猴访问文件URL,步骤 在浏览器地址栏输入:chrome://extensions(chrome用户)、edge://extensions(用户Edge) 找到Tampermonkey,点详细信息,打开允许访问文件 URL ![打开允许访问文件 URL](https://pic3.zhimg.com/v2-0c9431bd01490106561b774d4928952e_b.jpg) 在油猴中新建一个脚本,在前面添加你引用的本地文件的路径,注意路径前面要加file://下面的默认代码就可以删了: ![引用外部js文件](https://pic3.zhimg.com/v2-77e13c6a4c379bff741a4324d9ea98a6_b.jpg) 这时候就可以在IDE中愉快地写代码啦~ ### 网址记录 [Icon Made](https://www.flaticon.com/authors/freepik) [JS打包工具rollup——完全入门指南](https://segmentfault.com/a/1190000010628352) [油猴脚本详细解释](https://www.huiyingwu.com/1718/) [教程地址](https://jixunmoe.github.io/gmDevBook/#/doc/tutorial/meta) [打包脚本参考](https://github.com/WindrunnerMax/TKScript) [一键安装脚本](https://www.jsdelivr.com/?docs=gh) 一键安装脚本:方式2 ![一键安装脚本](5659555dac1465696ecf20aeb530418b27538c.png) 只要你的地址结尾为 .user.js 并能正常访问就能使用 GM 一键安装了。