Tampermonkey中⽂⽂档Userscript Header
@name
@namespace
@version
@author
@description
@homepage, @homepageURL, @website and @source
@icon, @iconURL and @defaulticon
@icon64 and @icon64URL
@updateURL
@downloadURL
@supportURL
@include
比你打又点@match
@exclude
@require
@resource
@connect
@run-at
@grant
@noframes
@unwrap
@nocompat
Application Programming Interface
unsafeWindow
Subresource Integrity
GM_addStyle(css)(TM4.0+弃⽤)
GM_deleteValue(name)
GM_listValues()
GM_addValueChangeListener(name, function(name, old_value, new_value, remote) {})
GM_removeValueChangeListener(listener_id)
GM_setValue(name, value)2016天津高考
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(cb)
GM_saveTab(tab)
GM_getTabs(cb)
GM_notification(details, ondone), GM_notification(text, title, image, onclick)
GM_setClipboard(data, info)
GM_info
<><![CDATA[your_text_here]]></>
Userscript Header
@name
脚本的名称
@namespace
该脚本的命名空间
@version
版本号。当脚本未从 安装时或 Tampermonkey 检索脚本元数据有问题时,⽤于更新检查。
@author
作者
@description
简介
@homepage, @homepageURL, @website and @source
作者主页,⽤于在Tampermonkey选项页⾯上从脚本名称点击跳转。请注意,如果`@namespace`标记以"http://"开头,此处也要⼀样。
@icon, @iconURL and @defaulticon
低分辨率图标
@icon64 and @icon64URL
64x64的图标。如果同时定义`@icon`和`@icon64`,Tampermonkey仍可能优先使⽤`@icon`定义的图标。
@updateURL
检查更新的⽹址。注意:需要定义@version
@downloadURL
如何验车更新下载脚本的⽹址,如果定义成`none`就不会检查更新。
@supportURL
报告问题的⽹址
元旦法定假日是几天?@include
⽰例:
@match
注意:"<all_urls>"语句尚不⽀持,scheme部分也接受"http*://"。
@exclude
不⽣效页⾯,每⾏⼀个。优先于`@include`和`@match`
@require
脚本本⾝开始运⾏之前加载并执⾏的JavaScript⽂件,每⾏⼀个。通过@require加载的脚本如果是严格模式("use strict")的,可能会影响本脚本的严格模式!
Code:
有关如何确保完整性的内容可以阅读`sub-resource integrity`
@resource
预加载资源,可通过GM_getResourceURL和GM_getResourceText读取
Code:
有关如何确保完整性的内容可以阅读`sub-resource integrity`
@connect
允许被GM_xmlhttpRequest访问的域名,不能是顶级域(``、``之类)。每⾏⼀个。
Code:
// @connect <value>
<value> 可以具有以下值
域名,例如tampermonkey(这也将允许所有⼦域)
⼦域名,即safari.tampermonkey
self,即脚本运⾏的⽹址
localhost
IP地址,例如1.2.3.4
*
如果⽆法全部声明脚本可能连接到的所有域,那么这是下⾯是推荐做法:
声明所有已知的域名,⼤多数⽤户可以避免请求链接外部域名的确认框。
另外添加`// @connect *`,对于没有显式标明的域名,Tampermonkey仍然会询问⽤户是否允许建⽴连接。如果⽤户点击`始终允许所有域(Always allow all domains)`,则将⾃动允许未来的所有请求。
⽤户还可以通过在脚本设置选项卡中将`*`添加到⽩名单。
Notes:
- both, the initial and the final URL will be checked!
- Scriptish的`@domain`会视为`@connect`。
@run-at
定义脚本注⼊的时刻。与其他脚本处理程序不同,`@run-at`定义了脚本可以运⾏的最初时刻。这意味着,通过`@require`引⼊的脚本如果在获取时耗费过多时间,那么脚本可能在⽹页加载后执⾏。⽆论如何,在给定注⼊时刻后且脚本注⼊成功的情况下,发⽣的所有
`DOMNodeInserted`和`DOMContentLoaded`事件都会传递到⽤户脚本。
Code:
/
/ @run-at document-start
脚本将尽可能快地注⼊。
Code:
// @run-at document-body
如果body元素存在,则脚本将被注⼊。
Code:
// @run-at document-end
该脚本将在发⽣DOMContentLoaded事件时或之后注⼊。
Code:
// @run-at document-idle
在发⽣DOMContentLoaded事件后注⼊脚本。
Code:
// @run-at context-menu拟人句大全三年级
如果在浏览器上下⽂菜单(仅限桌⾯Chrome浏览器)中点击该脚本,则会注⼊该脚本。注意:如果使⽤此值,则将忽略所有@include和@exclude语句,但这可能会在将来更改。
@grant
⽤于添加GM_ 函数到⽩名单,例如unsafeWindow对象和⼀些强⼤的window函数。如果没有给出@grant标签Tampermonkey会猜测脚本需要。
Code:
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_setClipboard
// @grant unsafeWindow
// @grant window.close
// @grant window.focus
另外window.close和window.focus必须显式声明。
如果使⽤// @grant none,沙箱将被禁⽤,脚本将直接在页⾯上下⽂中运⾏。在此模式下,没有GM_ 函数,但GM_info属性仍然可⽤。
Code:
// @grant none
@noframes
此标记使脚本在主页⾯上运⾏,但不会在iframe上运⾏。
@unwrap
此标记会被忽略,因为Google Chrome / Chromium不需要此标记。
@nocompat
由于部分代码可能是专门为专门的浏览器所写,通过此标记,Tampermonkey会知道脚本可以运⾏的浏览器。
Code:
// @nocompat⽀持的浏览器
// @nocompat Chrome
APPLICATION PROGRAMMING INTERFACE
unsafeWindow
unsafeWindow对象提供对页⾯javascript函数和变量的完全访问。
Subresource Integrity
`@resource`和`@require`标记的URL的hash(#)部分可⽤于此检查完整性。
Code:
Tampermonkey⾃⾝⽀持MD5校验,其他(SHA-1,SHA-256,SHA-384和SHA-512)依赖于pto。在多个hash(由逗号或分号分隔)的情况下,TM使⽤最后⼀个⽀持的hash。如果外部资源的内容不匹配所选的hash,则资源不会传递给userscript。所有校验码必须是hex或者base64格式。
GM_addStyle(css)(TM4.0+弃⽤)
将给定的CSS添加到document。
例⼦GM_addStyle('#uiSideNav uiSideNavSection uiFutureSideNavSection{ background-color:#ffffff; }');
GM_deleteValue(name)
从storage中删除"name"。
GM_listValues()
列出storage的所有key。
GM_addValueChangeListener(name, function(name, old_value, new_value, remote) {})
向storage添加⼀个change listener,并返回此ID。
中国古代名剑'name'是被观察变量的名称。
回调函数的'remote'参数表明此值的修改者是另⼀个⽹页(browser tabs)的实例(true),或是在此脚本实例(false)。
因此脚本可以通过`function`在不同的⽹页(browser tabs)互相通信。
GM_removeValueChangeListener(listener_id)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论