官网文档链接, 点击这里
可以看到, 它的文档主要有 2 部分组成, 分别是脚本头和API
当你新建一个脚本时, 可以也可以看到它清晰的分成2部分.
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://www.52dixiaowo.com/
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Your code here...
})();
Script Header : 脚本头
它是由 // ==UserScript== 开始
到 // ==/UserScript== 结束的标签构成, 标签中间是一些定义的脚本头
以下仅简略介绍, 点击可跳转到官网文档位置
@name | 脚本的名称 |
@namespace | 脚本的命名空间 |
@version | 脚本版本 |
@author | 脚本作者 |
@description | 简短而有意义的描述 |
@homepage, @homepageURL, @website and @source | 在选项页面上使用的作者主页,从脚本名称链接到给定页面。请注意,如果@namespace标签以‘http://’’开头,它的内容也将用于此 |
@icon, @iconURL and @defaulticon | 脚本图标在低分辨率。 |
@icon64 and @icon64URL | 这个脚本图标,64 × 64像素。如果这个标签,但是@icon是给定的@icon图像将在一些地方缩放在选项页 |
@updateURL | 用户脚本的更新URL。 注意:需要一个@version标记来进行更新检查 |
@downloadURL | 定义当检测到更新时将从其中下载脚本的URL。如果使用值none,则不会执行更新检查 |
@supportURL | 定义用户可以在其中报告问题并获得个人支持的URL |
@include | 匹配能执行此脚本的URL, 支持通配符 *, 比如 https://* 注意:URL中不可带参数, |
@match | 匹配一个脚本能执行的URL地址, 比如https://www.52dixiaowo.com |
@exclude | 排除一个被@include或者@match标签中的URL |
@require | 引入一个Script文件, 此文件URL必须存在 |
@resource | 预加载脚本可以通过GM_getResourceURL和GM_getResourceText访问的资源 |
@connect | 这个标记定义域(没有顶级域),包括允许GM_xmlhttpRequest检索的子域 |
@run-at | 定义脚本被注入的时刻。与其他脚本处理程序不同,@run-at定义了脚本想要运行的第一个可能时刻。这意味着可能会发生这样的情况,使用@require标记的脚本可能在已经加载文档之后执行,因为获取所需的脚本花费了那么长时间。无论如何,在给定注入时刻之后发生的所有DOMNodeInserted和DOMContentLoaded事件都会被缓存,并在注入脚本时交付给脚本 |
@grant | @grant用于将GM_*函数、unsafeWindow对象和一些功能强大的窗口函数列入白名单。如果没有提供@grant标记,TM猜测脚本的需求 |
@antifeature | 这个标签允许脚本开发人员公开他们是否在为他们的脚本赚钱。例如,它是GreasyFork所要求的 |
@noframes | 这个标记使脚本在主页上运行,而不是在iframes上运行 |
@unwrap | 这个标签被忽略,因为它在谷歌铬/铬是不需要的 |
@nocompat | 目前,TM试图通过寻找@match标签来检测一个脚本是否在了解谷歌Chrome/Chromium的情况下编写,但并不是每个脚本都使用它。这就是为什么TM支持这个标签来禁用所有在运行Firefox/Greasemonkey脚本时可能需要的优化。要使这个标记保持可扩展,您可以添加脚本可以处理的浏览器名称 |
API : 应用程序接口
- unsafeWindow
- Subresource Integrity
- GM_addStyle(css)
- GM_addElement(tag_name, attributes), GM_addElement(parent_node, tag_name, attributes)
- GM_deleteValue(name)
- GM_listValues()
- GM_addValueChangeListener(name, function(name, old_value, new_value, remote) {})
- GM_removeValueChangeListener(listener_id)
- GM_setValue(name, value)
- GM_getValue(name, defaultValue)
- GM_log(message)
- GM_getResourceText(name)
- GM_getResourceURL(name)
- GM_registerMenuCommand(name, fn, accessKey)
- GM_unregisterMenuCommand(menuCmdId)
- GM_openInTab(url, options), GM_openInTab(url, loadInBackground)
- GM_xmlhttpRequest(details)
- GM_download(details), GM_download(url, name)
- GM_getTab(callback)
- GM_saveTab(tab)
- GM_getTabs(callback)
- GM_notification(details, ondone), GM_notification(text, title, image, onclick)
- GM_setClipboard(data, info)
- GM_info
- <><![CDATA[your_text_here]]></>