视频和代码https://www.toolchest.cn/static/mv3.html

脚本头部2个“// ==UserScript==”之间编写脚本相关的配置信息和权限申请等,一般以@开始,称元数据。

3.1元数据参考表

以下是对油猴脚本中常见元数据(21个)的详细说明:

@name

@name 声明了脚本的名称。它可以被其他用户轻松地看到和识别脚本。该项是必填项。

例如:

复制代码// ==UserScript==
// @name         Example Script
// ==/UserScript==

@namespace

@namespace 表示脚本所属的命名空间。当多个脚本使用同一个名称时,可以使用该项防止冲突。该项不是必需的,但强烈建议设置。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @namespace    http://example.com/
// ==/UserScript==

@copyright

@copyright 表示脚本版权信息。如果您希望保留脚本的版权,则应该添加此项。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @copyright    2022, John Doe
// ==/UserScript==

@version

@version 表示脚本的版本号。每次更新时都应该增加版本号以区分不同版本。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @version      1
// ==/UserScript==

@description

@description 是一段简短的描述,用于概述脚本的功能、用途及特点。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @description  This script adds a new button to the page that allows you to easily save content to your account.
// ==/UserScript==

@icon, @iconURL, @defaulticon

@icon 可以设置一个小图标,用于在油猴脚本管理器中显示。它可以是一个 Base64 编码的图片,也可以是一个图片的 URL。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @icon         data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAKklEQVR4Xu3BAQ0AAADCoPdPbQ43oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

@iconURL 与 @icon 相同,但需要指定图片的 URL。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @iconURL      https://example.com/icon.png
// ==/UserScript==

@defaulticon 可以设置一个默认的图标,当无法加载指定的图标时会使用该图标。它可以是一个 Base64 编码的图片,也可以是一个图片的 URL。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @defaulticon  data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAKklEQVR4Xu3BAQ0AAADCoPdPbQ43oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOxWv8AAEYASURBVHgBpVNTTtRXGMc/7zLZ4jNBGwsxIud5EpQLwYGJyUQ2iJ/gn1UqVG6q3q6qvzF6nLoyZl53bNVdV+ftzznfnHvuODyIkSOhe2AVQQAMMAAEkgACCCCAAAIIIIAAAkgAACCDAkB5w5rpu+jf0yZZ5XOOe9B6DqF6NXr06ZMmTZMmDFjkzRp0yZMZnuvmxeGRkZQf39/QIDAwNebNmzdv36devXr15cvny5YsWLVapUuXLnz55ZVXVtWlSxfv379LYsWLfrnn38aMGCBWLVqFfDhw3brl27dq1atX8+eefLly4s2bNnS7NmzZaWlpdGvXLmSli5dSlJycHdu3aVOnTowOzt7f0tLSNGjRIkJiYGBsbmw+fPnsyMzNXX31lZWVhbm6uXFxcYPHixTt375d77733p0+fRp0+fRpUuXdjq+ffu2HH35YeHh4cLFy+OlpaUpMTBQMBetm/fv2rWrFl27drV69eqbNm3a9evXq19+7dKlS3bu3LkhdFFR0fnz56Njo67bbbttZWVla8+bN09PTx4sQTVqlUOhw4d2bNnVpk2bZnTt3TsWPHMmjTZt26dVtGnTpt29erV+/fsuWLFC
// ==/UserScript==

@icon64, @icon64URL

@icon64 和 @icon 类似,但是图标应该是 64x64 像素大小。它可以是一个 Base64 编码的图片,也可以是一个图片的 URL。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @icon64      data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsSAAALEgHS3X78AAAAeUlEQVR4nO3BAQ0AAAD

@icon64URL 与 @icon64 相同,但需要指定图片的 URL。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @icon64URL      https://example.com/icon64.png
// ==/UserScript==

@grant

@grant 声明油猴脚本需要的特权,例如访问 GM_* API (共26个)。如果脚本需要使用任何特权,则必须在此处进行声明。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @grant        GM_setValue
// @grant        GM_getValue
// ==/UserScript==

在此示例中,我们声明了两个特权,分别是 GM_setValue 和 GM_getValue。这些特权允许脚本读取和写入浏览器存储。

@author

@author 表示脚本作者的名称。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @author       John Doe
// ==/UserScript==

@homepage, @homepageURL, @website, @source

@homepage, @homepageURL, @website 和 @source 都是用于指向脚本相关网站的元数据。它们都是可选项。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @homepage     http://example.com/
// @homepageURL  http://example.com/
// @website      http://example.com/
// @source       http://github.com/example/example-script
// ==/UserScript==

@antifeature

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

语法:<标记> <类型> <描述>

例如:

// @antifeature       ads         展示广告
// @antifeature       tracking    包含一些数据分析相关功能
// @antifeature       miner       使用计算机资源挖矿

@require

@require 允许在运行脚本之前加载其他脚本,以便扩展功能。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @require      https://example.com/script1.js
// @require      https://example.com/script2.js
// ==/UserScript==

@resource

@resource 允许将资源包含在油猴脚本中,以便在脚本中使用,需要和GM_getResourceURL,GM_getResourceText配合使用。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @resource icon1       http://www.tampermonkey.net/favicon.ico
// @resource html        http://www.tampermonkey.net/index.html
// @resource xml         http://www.tampermonkey.net/crx/tampermonkey.xml
// ==/UserScript==

@include, @match, @exclude

@include, @match 和 @exclude 声明了脚本应该运行的网址范围。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @match        *
// @exclude      https://www.example.com/login
// ==/UserScript==

在此示例中,我们使用 @include 和 @exclude 声明了脚本应该运行的 URL 范围。

@run-at

@run-at 声明了脚本应该何时运行。

// @run-at document-start

脚本将尽快注入。

// @run-at document-body

如果 body 元素存在,则将注入脚本。

// @run-at document-end

脚本将在调度 DOMContentLoaded 事件时或之后注入。

// @run-at document-idle

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

// @run-at context-menu

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

例如:

复制代码// ==UserScript==
// @name         Example Script
// @run-at       document-end
// ==/UserScript==

在此示例中,我们使用 @run-at 声明了脚本应在文档结束时运行。

@sandbox

@sandbox 表示脚本应该运行在一个沙箱中,以限制脚本的访问权限。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @sandbox      true
// ==/UserScript==

在此示例中,我们使用 @sandbox 声明了脚本应该运行在沙箱中,以限制其访问范围。

@noframes

@noframes 此标记使脚本在主页上运行,但不在 iframe 上运行。

例如:

复制代码// ==UserScript==
// @name         Example Script
// @noframes
// ==/UserScript==

在此示例中,我们使用 @noframes 声明了脚本不应在框架中运行。

@updateURL

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

@downloadURL

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

@supportURL

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

@unwrap

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

3.2案例中的元数据说明

// ==UserScript==
// @name         去除知乎侧边栏
// @namespace    https://www.zhihu.com/
// @version      1.0
// @description  去除知乎页面右侧的侧边栏,让页面更简洁。
// @author       Your Name
// @match        https://www.zhihu.com/*
// @grant        none
// ==/UserScript==

在这个具体的油猴脚本中:

  • @name 指定了脚本名称为 “去除知乎侧边栏”。
  • @namespace 指定了命名空间为 “知乎 - 有问题,就会有答案”。
  • @version 指定了脚本版本号为 “1.0”。
  • @description 指定了脚本描述为 “去除知乎页面右侧的侧边栏,让页面更简洁。”。
  • @author 指定了脚本作者为 “Your Name”。
  • @match 指定了脚本匹配的网址为 “知乎 - 有问题,就会有答案*”,即所有的知乎网页。
  • @grant 指定了不需要使用额外权限。

视频和代码https://www.toolchest.cn/static/mv3.html

Tampermonkey油猴脚本开发视频教程-3.脚本配置和权限申请UserScript相关推荐

  1. tampermonkey油猴插件|tampermonkey油猴脚本

    让你的电脑浏览器使用起来更加强大吗?那么可以试试tampermonkey油猴插件,这是专门为市面上主流常见的chrome谷歌浏览器.firefox火狐.360浏览器.Microsoft Edge.Op ...

  2. Tampermonkey油猴-脚本插件

    Tampermonkey油猴插件-免费Vip视频-电影.电视.动漫- 极简插件:https://chrome.zzzmh.cn/index#/index 油猴插件链接:(安装插件后才有哦!) Tamp ...

  3. 谷歌浏览器 Chrome 安装 Tampermonkey 油猴插件的方法

    谷歌浏览器 Chrome 安装 Tampermonkey 油猴插件的方法 一.什么是油猴脚本 二.油猴安装方法 方法一:Google官方商店安装(推荐) 方法二:本地安装(无需KX上网) 一.什么是油 ...

  4. Tampermonkey油猴插件安装使用

    Tampermonkey油猴插件安装使用 Tampermonkey油猴插件--安装与使用教程 Tampermonkey的crx文件,将下载下来的压缩包解压出来,其中类型为CRX文件 就是接下来需要用到 ...

  5. Tampermonkey油猴

    Tampermonkey油猴 安装 官网 安装 应用市场安装 手动安装 注意 脚本搜索 官网 我也不知道这是真官网还是假官网,反正将就能用就行了 http://www.tampermonkey.net ...

  6. tampermonkey油猴插件-tampermonkey油猴插件下载

    ampermonkey油猴Chrome扩展是一款用户脚本管理插件,原本在火狐上发布,名字为Greasemonkey.Chrome上的类似插件就是这款Tampermonkey,它们使用的脚本是通用的.下 ...

  7. Tampermonkey油猴 加载本地文件

    Tampermonkey油猴 加载本地文件 1. 加载本地脚本 common.js 1: 设置油猴权限 2: 引用本地js 2. 加载本地文件 2.1 用 GM_getResourceText 加载资 ...

  8. tampermonkey油猴与selenium webdriver入门 (by quqi99)

    作者:张华 发表于:2020-11-08 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 今天群里在给同学投票,有人点50次,于是,研究了一下. tamperm ...

  9. Chrome用户脚本管理器-Tampermonkey 油猴

    Tampermonkey 是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome, Microsoft Edge, Safari, Opera Next, 和 Firefox. 虽然 ...

最新文章

  1. 使用XML记录数据的一些体会
  2. AdminStudio 9.x优惠升级到AdminStudio 11.0的机会只剩三周
  3. UVA 10129 Play on Words(欧拉道路)
  4. Cobbler部署指南之Cobbler安装操作系统篇
  5. There was an error running 'go version' command: exec: go: executable file not found in %PATH
  6. [NewLife.XCode]反向工程(自动建表建库大杀器)
  7. .NET Core 2.0应用程序大小减少50%
  8. Macbook怎么关闭磁盘“未正确推出”提示
  9. 《Linux命令行与shell脚本编程大全》读书笔记————第一章 初识Linux shell
  10. 清华大学2017计算机录取分数线,2017年清华大学录取分数线
  11. Ext JS+Android+SSH整合开发Web与移动SNS
  12. 在深度学习时代用 HowNet 搞事情 刘知远 01-09
  13. solidword入门使用
  14. word文档通配符换行_Word怎么批量删除分隔符
  15. 光与夜之恋服务器维护,《光与夜之恋》2021年7月30日停服维护说明
  16. 【点云处理技术之PCL】range image——提取深度图像的边界并可视化
  17. C语言内存分布图----栈空间、堆空间
  18. android 代码 drawable,Android Drawable完全解析(一):Drawable源码分析(中)
  19. 谈一下自己收集资料和整理资料的经验
  20. IDEA 读取maven本地仓库jar包,而不是读取module项目代码的解决方案

热门文章

  1. 深搜6:【SSL】1328.泡泡龙——2021-05-01更
  2. 【基于UML软件建模的客户关系管理系统】
  3. 华为linux版本wifi驱动,HuaWei华为
  4. 《文本上的算法——深入浅出自然语言处理》读书笔记:第6章 搜索引擎是什么玩意儿
  5. 第18章 强化股票的“股性”,弱化其“债性”
  6. 【C++】C++STL标准模板库
  7. Ubuntu18.04+ROS+ 乐视三合一深度相机配置使用
  8. Python 课课练 (七):字典与集合课后题
  9. Iphone 5s 刷机 ---- 尝试篇
  10. Python基础(三)_函数和代码复用