Tampermonkey油猴用户脚本API文档

news2024/12/26 21:47:28

在这里插入图片描述


在这里插入图片描述


个人名片:

🐼作者简介:一名大三在校生,喜欢AI编程🎋
🐻‍❄️个人主页🥇:落798.
🐼个人WeChat:hmmwx53
🕊️系列专栏:🖼️

  • 零基础学Java——小白入门必备🔥
  • 重识C语言——复习回顾🔥
  • 计算机网络体系———深度详讲
  • HCIP数通工程师-刷题与实战🔥🔥🔥
  • 微信小程序开发——实战开发🔥
  • HarmonyOS 4.0 应用开发实战——实战开发🔥🔥🔥
  • Redis快速入门到精通——实战开发🔥🔥🔥
    🐓每日一句:🍭我很忙,但我要忙的有意义!
    欢迎评论 💬点赞👍🏻 收藏 📂加关注+


文章目录

    • 前言:
    • 什么是「油猴」?
    • Tampermonkey油猴用户脚本API文档
    • 用户脚本 Header
      • `@name`
      • `@copyright`
      • @version
      • @description
      • @icon64,@icon64URL
      • @grant
      • `@author`
      • `@require`
      • @resource
      • @include
      • @match
      • @run-at
      • @updateURL
      • @downloadURL
      • @supportURL
      • @webRequest
      • @unwrap
    • 应用程序编程接口
      • 不安全的窗口
      • 子资源完整性
    • 欢迎添加微信,加入我的核心小队,请备注来意


前言:

相信大家都了解浏览器插件,而在众多的扩展中,就不得不提到一个浏览器插件——Tampermonkey。中文俗称油猴。

相信很多人也听说过,大家可以把他理解为一个用户脚本管理器。它本身是无法为我们发挥什么作用的,它主要依靠各大社区编写的扩展脚本(JavaScript代码)运行在浏览器上,来改变被访问网页的功能,提升我们的网页浏览体验 。

什么是「油猴」?

「油猴」,Greasemonkey,简称 GM,可以简单理解为脚本管理器。

通过给油猴管理器安装各类脚本,可以让大部分 HTML 为主的网页更方便易用,比如:全速下载网盘文件、去广告、悬停显示大图、Flash/HTML5 播放器转换、阅读模式等。有点像给 Chrome 的插件装上插件。

在这里插入图片描述
知名的油猴管理器有很多,Tampermonkey、Greasemonkey、Violentmonkey 做的都不错,我们在这介绍对各大浏览器平台适配的最好的 Tampermonkey 管理器。

Tampermonkey油猴用户脚本API文档

官网地址:https://www.tampermonkey.net/documentation.php?ext=dhdg#api:GM_openInTab
在这里插入图片描述

相信熟悉浏览器的都知道,尤其是大名鼎鼎的Chrome浏览器,丰富的扩展程序让很多人体验到了浏览器的神奇之处,而一个没有安装扩展程序的浏览器也是不完整的。

用户脚本 Header

@name

脚本的名称。

国际化是通过添加命名区域设置的附录来完成的。

// @name    A test
// @name:de Ein Test
@namespace

脚本的命名空间。

@copyright

在脚本编辑器标题中显示的版权声明,位于脚本名称的正下方。

@version

脚本版本。这用于更新检查,每次更新时都需要增加。

@description

一个简短的重要描述。

国际化是通过添加命名区域设置的附录来完成的。

// @description This userscript does wonderful things
// @description:de Dieses Userscript tut wundervolle Dinge
@icon、@iconURL@defaulticon
低分辨率的脚本图标。

@icon64,@icon64URL

此脚本图标为 64x64 像素。如果此标记,但给定图像将在选项页面的某些位置缩放。@icon@icon

@grant

@grant用于将功能列入白名单,对象和一些功能强大的功能。GM_*GM.*unsafeWindowwindow

// @grant GM_setValue
// @grant GM_getValue
// @grant GM.setValue
// @grant GM.getValue
// @grant GM_setClipboard
// @grant unsafeWindow
// @grant window.close
// @grant window.focus
// @grant window.onurlchange

由于关闭和聚焦选项卡是一项强大的功能,因此也需要将其添加到语句中。 如果紧随其后,沙盒将被禁用。在此模式下,没有任何功能,但该属性将可用。@grant@grantnoneGM_*GM_info

// @grant none
如果未提供任何标记,则假定为空列表。但是,这与使用 .@grantnone

@author

脚本作者。

@homepage、@homepageURL、@website@source
在选项页面上用于从脚本名称链接到给定页面的作者主页。请注意,如果标签以其内容开头,也将用于此目的。@namespacehttp://

@antifeature
此标记允许脚本开发人员披露他们是否通过脚本获利。例如,GreasyFork 需要它。

语法:<tag> <type> <description>

<type> 可以具有以下值:

广告
跟踪
矿工

// @antifeature       ads         We show you ads
// @antifeature:fr    ads         Nous vous montrons des publicités
// @antifeature       tracking    We have some sort of analytics included
// @antifeature       miner       We use your computer's resources to mine a crypto currency

国际化是通过添加命名区域设置的附录来完成的。

@require

指向在脚本本身开始运行之前加载并执行的 JavaScript 文件。 注意:加载方式的脚本及其“use strict”语句可能会影响用户脚本的严格模式!@require

// @require https://code.jquery.com/jquery-2.1.4.min.js
// @require https://code.jquery.com/jquery-2.1.3.min.js#sha256=23456...
// @require https://code.jquery.com/jquery-2.1.2.min.js#md5=34567...,sha256=6789...
// @require tampermonkey://vendor/jquery.js
// @require tampermonkey://vendor/jszip/jszip.js

请查看子资源完整性部分,了解如何确保完整性的更多信息。

允许使用多个标签实例。

@resource

预加载可通过脚本和脚本访问的资源。GM_getResourceURLGM_getResourceText

// @resource icon1       http://www.tampermonkey.net/favicon.ico
// @resource icon2       /images/icon.png
// @resource html        http://www.tampermonkey.net/index.html
// @resource xml         http://www.tampermonkey.net/crx/tampermonkey.xml
// @resource SRIsecured1 http://www.tampermonkey.net/favicon.ico#md5=123434...
// @resource SRIsecured2 

允许使用多个标签实例。

@include

脚本应运行的页面。允许使用多个标签实例。 @include不支持 URL 哈希参数。您必须匹配没有哈希参数的路径,并使用 window.onurlchange

// @include http://www.tampermonkey.net/*
// @include http://*
// @include https://*
// @include /^https:\/\/www\.tampermonkey\.net\/.*$/
// @include *

注意:在编写类似的东西时,许多脚本开发人员希望脚本只运行,但事实并非如此。 它也运行在。

因此,Tampermonkey 的解释包含有点像 .Every before 仅匹配除字符之外的所有内容,以确保仅匹配 URL 方案。 此外,如果这样的 包含 after ,则这些字符串之间的所有内容都被视为主机,匹配除字符之外的所有内容。这同样适用于直接跟随 .@includes://@match*😕/:@include/😕//*😕/

@match

在 Tampermonkey 中,该指令用于指定脚本应在其上运行的网页。 的值应为与希望运行脚本的页面匹配的 URL 模式。以下是您需要设置的 URL 模式的各个部分:@match@match

// @match <protocol>://<domain><path>
protocol - 这是 URL 的第一部分,在冒号之前。它指定页面使用的协议,例如 或 。 两者都匹配。httphttps*

domain - 这是 URL 的第二部分,在协议和两个斜杠之后。它指定网站的域名,例如 .您可以通过这种方式使用通配符来匹配它的任何子域,例如 .tmnk.com*.tmnk.nettmnk.netwww.tmnk.net
path - 这是域名后面的 URL 部分,可能包含其他子目录或文件名。您可以使用通配符来匹配路径的任何部分。*

@run-at

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

@updateURL

用户脚本的更新 URL。 注意:需要标记才能使更新检查正常工作。@version

@downloadURL

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

@supportURL

定义用户可在其中报告问题并获得个人支持的 URL。

@webRequest

@webRequest获取匹配的 JSON 文档GM_webRequest的参数。它甚至允许在加载用户脚本之前应用规则。rule

@unwrap

将没有任何包装器和沙箱的用户脚本注入到页面中,这可能对 Scriptlet 有用。

应用程序编程接口

不安全的窗口

该对象提供对运行 Tampermonkey 的页面对象的访问,而不是对 Tampermonkey 扩展的对象的访问。这在某些情况下很有用,例如当用户脚本需要访问页面上定义的 JavaScript 库或变量时。unsafeWindowwindowwindow

子资源完整性

子资源完整性 (SRI) 是一项安全功能,允许用户脚本开发人员确保其用户脚本中包含的外部资源(例如 JavaScript 库和 CSS 文件)未被篡改或修改。这是通过生成资源的加密哈希并将其包含在 和 标记中来实现的。安装用户脚本后,Tampermonkey 将计算资源的哈希值并将其与包含的哈希值进行比较。如果两个哈希值不匹配,Tampermonkey 将拒绝加载资源,防止攻击者将恶意代码注入您的用户脚本。@require@resource

有关合适的“属性”,请参阅相应的文档。例如:

脚本标记
img 标签
样式标签

GM_addElement('script', {
  textContent: 'window.foo = "bar";'
});

GM_addElement('script', {
  src: 'https://example.com/script.js',
  type: 'text/javascript'
});

GM_addElement(document.getElementsByTagName('div')[0], 'img', {
  src: 'https://example.com/image.png'
});

GM_addElement(shadowDOM, 'style', {
  textContent: 'div { color: black; };'
});

注意:此功能是实验性的,API 可能会发生变化。

GM_addStyle(css)

将给定样式添加到文档中,并返回注入的样式元素。

GM_download(详细信息)、GM_download(url、名称)
GM_download允许用户脚本从指定的 URL 下载文件并将其保存到用户的本地计算机。

该函数采用以下参数:GM_download

详细信息可以具有以下属性:

url:要下载的文件的 URL。这必须是有效的 URL,并且必须指向用户可访问的文件。
名称: 用于下载文件的名称。 这应包括文件扩展名,例如 .txt 或 .pdf。 出于安全原因,文件扩展名需要在 Tampermonkey 的选项页面上列入白名单
标头: 包含要包含在下载请求中的 HTTP 标头的对象。 看GM_xmlhttpRequest了解更多详情。
saveAs: 一个布尔值,指示是使用用户的默认下载位置,还是提示用户选择其他位置。 此选项仅适用于浏览器 API 模式。
冲突操作: 一个字符串,用于控制当具有此名称的文件已存在时发生的情况。此选项仅适用于浏览器 API 模式。 可能的值为 和 。 请查看此链接了解更多详情。uniquifyoverwriteprompt
onload:下载成功完成时调用的函数。
onerror:下载失败或取消时调用的函数。
进行中如果此下载取得了一些进展,则要执行的回调。
ontimeout如果此下载因超时而失败,则要执行的回调。
onerror 回调的 download 参数可以具有以下属性:

error:错误原因
not_enabled - 用户未启用下载功能
not_whitelisted - 请求的文件扩展名未列入白名单
not_permitted - 用户启用了下载功能,但未授予下载权限
not_supported - 浏览器/版本不支持下载功能
not_succeeded - 下载未启动或失败,details 属性可能会提供更多信息
详细信息:有关该错误的详细信息
返回具有以下属性的对象:

abort:可以调用以取消此下载的函数。
如果使用,它将返回一个 promise,该 promise 解析为下载详细信息,并且还具有一个函数。GM.downloadabort


在这里插入图片描述

欢迎添加微信,加入我的核心小队,请备注来意

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1452777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis篇----第三篇

系列文章目录 文章目录 系列文章目录前言一、缓存雪崩**二、缓存穿透三、缓存预热四、缓存更新五、缓存降级 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女…

【数据结构】二叉查找树和平衡二叉树,以及二者的区别

目录 1、二叉查找树 1.1、定义 1.2、查找二叉树的优点 1.2、查找二叉树的弊端 2、平衡二叉树 2.1、定义 2.2、 实现树结构平衡的方法&#xff08;旋转机制&#xff09; 2.2.1、左旋 2.2.2、右旋 3、总结 1、二叉查找树 二叉查找树又名二叉排序树&#xff0c;亦称二叉搜…

【Java程序员面试专栏 Java领域】Java虚拟机 核心面试指引

关于Java 虚拟机部分的核心知识进行一网打尽,主要包括Java虚拟机的内存分区,执行流程等,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 JVM 程序执行流程 包括Java程序的完整执行流程,以及Javac编译,JIT即时编译 Java程序的完整执…

2024年【A特种设备相关管理(电梯)】找解析及A特种设备相关管理(电梯)模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 A特种设备相关管理&#xff08;电梯&#xff09;找解析是安全生产模拟考试一点通生成的&#xff0c;A特种设备相关管理&#xff08;电梯&#xff09;证模拟考试题库是根据A特种设备相关管理&#xff08;电梯&#xff…

NBA2K24 精品蔡徐坤面补

NBA2K24 精品蔡徐坤面补 NBA2K23-NBA2K24通用 精品蔡徐坤面补 下载地址&#xff1a; https://www.changyouzuhao.cn/13072.html

【JavaEE】_HTTP请求报头header

目录 1. Host 2. Content-Length与Content-Type 2.1 Content-Length 2.2 Content-Type 3. User-Agent&#xff08;UA&#xff09; 4. Referer 5. Cookie header的整体格式是“键值对”结构&#xff0c;一行是一个键值对&#xff0c;这些键值对都是HTTP定义好的、有特殊含…

【STM32 CubeMX】SPI W25Q64功能实现

文章目录 前言一、内部函数的实现1.1 选中和取消选中SPI Flash1.2 写使能函数1.3 获取读状态1.4 等待就绪状态 二、Flash读写函数实现2.1 读Flash ID2.2 擦除某个扇区2.3 写扇区2.4 读数据 三、测试代码总结 前言 SPI Flash 存储器在嵌入式系统中扮演着重要角色&#xff0c;它…

各类有关于花卉的深度学习数据集

花卉的识别和分类在深度学习过程中是最常见的使用的案例&#xff0c;因此各类有关花卉分类、识别、计数的图像数据集是大家都常用的数据集。最近收集到各类有关花卉的各类数据集分享给大家&#xff01;&#xff01; 1、16种花常见的图像数据集 数据说明&#xff1a;我们看到我…

数据库设计、JDBC、数据库连接池

数据库设计 数据库设计概念 数据库设计就是根据业务 系统的具体需求&#xff0c;结合我们所选用的DBMS,为这个业务系统构造出最优的数据存储模型。建立数据库中的表结构以及表与表之间的关联关系的过程。有哪些表?表里有哪些字段?表和表之间有什么关系? 数据库设计的步骤…

企业计算机服务器中了faust勒索病毒怎么办?Faust勒索病毒解密数据恢复

网络技术的不断发展与更新&#xff0c;为企业的生产运营提供了极大便利&#xff0c;但也为企业的数据安全埋下隐患。近期&#xff0c;云天数据恢复中心接到很多企业的求助&#xff0c;企业的计算机服务器遭到了faust勒索病毒攻击&#xff0c;给企业的生产运营带来了极大困扰&am…

使用新的 AI 工具和生产力工具提升 Windows 上的开发人员体验

随着 9 月 26 日最新的 Windows 11 更新&#xff0c;我们发布了一系列开发人员功能作为 Windows 操作系统的核心组件&#xff0c;旨在提高每个开发人员在 Windows 上的工作效率。今天&#xff0c;我们很高兴地宣布推出 Windows AI Studio&#xff0c;这是一种新的 AI 体验&…

SCI文章复现 | GEO文章套路,数据下载和批次效应处理

原文链接&#xff1a; SCI文章复现 | GEO文章套路&#xff0c;数据下载和批次效应处理https://mp.weixin.qq.com/s/KBA67EJ7cCK5NDTUzrwJ2Q 一、前言 这是2024年春节后的第一个推送教程&#xff0c;我们也给大家赠送一个福利。将前期的付费教程免费推送给大家。其实&#xff…

关于Build Your Own Botnet的尝试

这是一次失败的尝试、 原文地址&#xff1a;关于Build Your Own Botnet的尝试 - Pleasure的博客 下面是正文内容&#xff1a; 前言 我在上一篇关于DDOS的文章种提到过这个项目&#xff0c;而且说明了由于这个项目是在2020年发布并开源的&#xff0c;并且已经有两年没有进行跟…

C++入门学习(二十八)跳转语句—continue语句

当在循环中遇到continue语句时&#xff0c;它会跳过当前迭代剩余的代码块&#xff0c;并立即开始下一次迭代。这意味着continue语句用于跳过循环中特定的执行步骤&#xff0c;而不是完全终止循环。 直接看一下下面的代码更清晰&#xff1a; 与上一节的break语句可以做一下对比…

spring boot3登录开发-2(1图形验证码接口实现)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途。 目录 前置条件 内容简介 图形验证码接口实现 导入糊涂工具依赖 接口分析 编写验证码接口 测试验证码接口 前置条件 …

【MySQL进阶之路】MySQL中到底为什么会出现幻读?

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

第六篇【传奇开心果系列】Python微项目技术点案例示例:庖丁解牛tkinter.ttk库gui界面编程

传奇开心果微博系列 系列微博目录Python微项目技术点案例示例系列 微博目录前言一、主窗口和子窗口创建和切换&#xff0c;以员工信息管理系统示例代码二、主窗口添加有菜单项图标的菜单栏、工具栏和右键菜单示例代码三、使用sqlite3数据库增删改查管理员工信息示例代码四、在主…

从物联网到数字孪生:智慧社区的演变

随着科技的飞速发展和数字化转型的深入推进&#xff0c;智慧社区已成为提升城市治理水平和居民生活质量的重要方向。在这一演变过程中&#xff0c;物联网和数字孪生技术起到了至关重要的作用。本文将深入探讨从物联网到数字孪生的演变过程&#xff0c;分析这一转变对智慧社区建…

FL Studio 21中文破解激活版2024免费下载安装图文教程

FL Studio 21.2.1.3859中文破解激活版是我见过更新迭代最快的宿主软件&#xff0c;没有之一。FL Studio12、FL Studio20、FL Studio21等等。有时甚至我刚刚下载好了最新版本&#xff0c;熟悉了新版本一些好用的操作&#xff0c;Fl Studio就又推出了更新的版本&#xff0c;而且F…

基于springboot大学生租房系统源码和论文

伴随着全球信息化发展&#xff0c;行行业业都与计算机技术相衔接&#xff0c;计算机技术普遍运用于各大行业&#xff0c;大学生租房系统便是其中一种。实施计算机系统来管理可以降低大学生租房管理的成本&#xff0c;使整个大学生租房的发展和服务水平有显著提升。 本论文主要面…