TamperMonkey油猴/暴力猴浏览器脚本插件中文网(原TMchina)

打印 上一主题 下一主题

油猴脚本开发中文文档合集第一节Userscript Header

[复制链接]
11#
 楼主| 发表于 2019-12-13 08:25:23 | 只看该作者
@downloadURL

定义检测到更新时将从中下载脚本的URL。如果使用值none,则不会执行更新检查。
回复

使用道具 举报

12#
 楼主| 发表于 2019-12-13 08:27:05 | 只看该作者
@supportURL

定义用户可以在其中报告问题和获取个人支持的URL。
回复

使用道具 举报

13#
 楼主| 发表于 2019-12-13 08:36:17 | 只看该作者
@include

脚本应该运行的页面。允许多个标记实例。

请注意,@include不支持URL散列参数。

  1. // @include http://www.tampermonkey.net/*
  2. // @include http://*
  3. // @include https://*
  4. // @include *
复制代码
回复

使用道具 举报

14#
 楼主| 发表于 2019-12-13 08:37:04 | 只看该作者
@match

或多或少等于@include标记。你可以在这里得到更多的信息。

注意:尚不支持“<all-urls>”语句,scheme部分也接受“http*://”。



允许多个标记实例。
回复

使用道具 举报

15#
 楼主| 发表于 2019-12-13 08:37:38 | 只看该作者
@exclude

排除url,即使它们包含在@include或@match中。



允许多个标记实例。
回复

使用道具 举报

16#
 楼主| 发表于 2019-12-13 08:38:02 | 只看该作者
@require

指向在脚本本身开始运行之前加载并执行的JavaScript文件。

注意:通过@require加载的脚本及其“use strict”语句可能会影响userscript的strict模式!
  1. // @require https://code.jquery.com/jquery-2.1.4.min.js
  2. // @require https://code.jquery.com/jquery-2.1.3.min.js#sha256=23456...
  3. // @require https://code.jquery.com/jquery-2.1.2.min.js#md5=34567...,sha256=6789...
复制代码


回复

使用道具 举报

17#
 楼主| 发表于 2019-12-13 08:40:28 | 只看该作者
@connect

This tag defines the domains (no top-level domains) including subdomains which are allowed to be retrieved by GM_xmlhttpRequest

  1. // @connect <value>
复制代码


<value>可以有以下值:

像tampermonkey.net这样的域(这也允许所有子域)
  • 子域,即safari.tanpermonkey.net
  • self列出脚本当前运行的域
  • localhost访问localhost
  • 1.2.3.4连接到IP地址
  • *

如果无法声明用户脚本可能连接到的所有域,则最好执行以下操作:

声明所有已知或至少所有可能由脚本连接的公共域。这样,大多数用户都可以避免确认对话框。



另外在脚本中添加“@connect*”。通过这样做,Tampermonkey仍然会询问用户是否允许下一个连接到未提及的域,但也会提供一个“总是允许所有域”按钮。如果用户单击此按钮,则将自动允许所有未来的请求。



用户还可以通过在“脚本设置”选项卡的用户域白名单中添加“*”来白名单所有请求。



笔记:

同时,将检查初始和最终的URL!

为了向后兼容Scriptish@domain标记也会被解释。

允许多个标记实例。
回复

使用道具 举报

18#
 楼主| 发表于 2019-12-13 08:44:09 | 只看该作者
@run-at

定义脚本被注入的时刻。与其他脚本处理程序相反,@run at定义了脚本要运行的第一个可能时刻。这意味着,使用@require标记的脚本可能会在加载文档后执行,因为获取所需脚本花费了很长时间。无论如何,在给定的注入时刻之后发生的所有DOMNodeInserted和DOMContentLoaded事件都将被缓存,并在注入时传递给脚本。

  1. // @run-at document-start
复制代码


脚本将尽快注入。

  1. // @run-at document-body
复制代码


如果主体元素存在,脚本将被注入。

  1. // @run-at document-end
复制代码


将在发送DOMContentLoaded事件时或之后注入脚本。

  1. // @run-at document-idle
复制代码

将在调度DOMContentLoaded事件后注入脚本。如果没有给出@run at标记,这是默认值。

  1. // @run-at context-menu
复制代码


如果在浏览器上下文菜单中单击脚本(仅限基于桌面Chrome的浏览器),脚本将被注入。

注意:如果使用此值,则所有@include和@exclude语句都将被忽略,但将来可能会发生变化。

回复

使用道具 举报

19#
 楼主| 发表于 2019-12-13 08:44:55 | 只看该作者
@grant

@grant用于白名单GM_ux函数、unsafeWindow对象和一些强大的窗口函数。如果没有给@grant标记,TM会猜测脚本需要什么。

  1. // @grant GM_setValue
  2. // @grant GM_getValue
  3. // @grant GM_setClipboard
  4. // @grant unsafeWindow
  5. // @grant window.close
  6. // @grant window.focus
复制代码


由于关闭和聚焦选项卡是一个强大的功能,因此还需要将其添加到@grant语句中。



如果@grant后跟“none”,沙盒将被禁用,脚本将直接在页面上下文中运行。在此模式下,没有GM_u*函数,但GM_uinfo属性将可用。

  1. // @grant none
复制代码
回复

使用道具 举报

20#
 楼主| 发表于 2019-12-13 08:46:28 | 只看该作者
@noframes

此标记使脚本在主页面上运行,但不在iframe上运行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

最近更新的脚本

免责声明

油猴中文网所发布的一切浏览器脚本及应用的帖子仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该应用,请支持开发者,若有VIP相关脚本,我们推荐您购买VIP得到更好的官方服务。(如有侵犯了您权益的应用请点此处联系我们处理

联系我们|Archiver|小黑屋|sitemap|, Processed in 0.045689 second(s), 12 queries , File On.   
快速回复 返回顶部 返回列表