Tampermonkey脚本编写

  • 前言
  • 一、Tampermonkey是什么?
  • 二、特色
    • 1.方便的脚本管理
    • 2.脚本概览
    • 3.设置多样性
    • 4.脚本自动更新
    • 5.安全
    • 6.兼容性
    • 7.Chrome 同步
    • 8.CodeMirror 编辑器
    • 9.JSHint 语法检查
    • 10.快速开发
  • 三、下载
    • 1.Tampermonkey Stable
    • 2.Tampermonkey Beta
  • 四、语法
  • 五、用户脚本
    • Userscript.Zone Search
    • GitHub/Gist
    • GreasyFork
    • OpenUserJS

前言

越来越多的人使用脚本,而目前最火的Chrome脚本插件之一的是Tampermonkey(黑猴子)。这篇文章在阅读者会JavaScript的基础上额外介绍了Tampermonkey的语法。如果不会JS请专门去学习。


以下是本篇文章正文内容,下面案例可供参考

一、Tampermonkey是什么?

Tampermonkey 是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome, Microsoft Edge, Safari, Opera Next, 和 Firefox。
虽然有些受支持的浏览器拥有原生的用户脚本支持,但 Tampermonkey 将在您的用户脚本管理方面提供更多的便利。 它提供了诸如便捷脚本安装、自动更新检查、标签中的脚本运行状况速览、内置的编辑器等众多功能, 同时Tampermonkey还有可能正常运行原本并不兼容的脚本。

二、特色

1.方便的脚本管理


Tampermonkey 使管理您的用户脚本变得非常简单。位于右上方的 Tampermonkey 图标显示正在运行的脚本的数量,单击图标就可以看到正在运行的脚本和可能在这个网页上运行的脚本。

2.脚本概览


Tampermonkey 概览清晰地显示所有安装的脚本。您可以看到它们最后的更新时间,如果它们有自己的主页,您还可以对它们进行分类和其他更多的功能…

技巧 :也可以在这里管理那些作为 Chromium 插件来安装的脚本。

3.设置多样性


您可以为设置页面在三种不同的等级中进行选择。不常用的选项将被隐藏,通过这种方式来简化页面。

4.脚本自动更新


您可以对脚本的检查更新频率进行设置。不再因为过时的脚本而产生漏洞。: )

5.安全


只有偏执狂才能生存!把所有不该使用脚本的网站都列入黑名单。

6.兼容性


许多为火狐用户脚本管理器攥写的用户脚本叫做 Greasemonkey (<= 3.x),这就是为什么 Tampermonkey 要提供一个兼容层并自动检测配套设置。

7.Chrome 同步


您正在使用多个 Chrome 浏览器,一个家用,一个工作用?您希望您可以同步自己的脚本?那么,您仅需设置 Tampermonkey 的同步功能。

8.CodeMirror 编辑器


您需要开发并编辑一个脚本?没问题!Tampermonkey 提供一个嵌入式的编辑器。

9.JSHint 语法检查


您的脚本无法运行?Tampermonkey 的语法检查或许可以帮您找到问题… : )

10.快速开发


Tampermonkey 的编辑器是很棒的,然而您拥有自己的编辑器,它更快、更好……解决办法是启用“允许访问文件网址”,然后您就可以通过@require调用您脚本的本地副本了。

三、下载

1.Tampermonkey Stable

下载地址(谷歌)

也可以从各大Chrome应用商店下载此插件。

2.Tampermonkey Beta

下载地址(谷歌)
也可以从各大Chrome应用商店下载此插件。

四、语法

实用示例:

// ==UserScript==
// @name         New Userscript                                //脚本名
// @namespace    https://example.net
// @version      0.1                                       //脚本版本
// @description  try to take over the world!               //脚本功能描述
// @author       You                                       //作者名称
// @match        https://example.net                       //要在哪些网站使用该脚本,亦可使用include,此外可以用exclude来排除某些网站包含的页面
// @grant        none
// @note                                                   //代码笔记,发布时会公开在脚本里
// ==/UserScript==(function() {'use strict';// 这里写需要的JavaScript代码
})();

脚本元素属性值列表:

§@name
脚本的名称。该项将显示在页面的标题以及链接内容,必填项。
§@name:XX-YY
脚本在特定语言区域的标题。XX 指 ISO 639-1 国家代码 以及 YY 指可选的 ISO 3166 地区代码。该选项用于提供多语言的@name 脚本名称。
§@description
脚本功能的描述,显示在脚本标题下面,必填项。
§@description:XX-YY
用某门语言写成的脚本描述。XX 指 ISO 639-1 国家代码 以及 YY 指可选的 ISO 3166 地区代码。该选项用于提供多语言的@description 脚本介绍。
§@namespace
@namespace 与 @name 这两个属性被作为脚本的唯一标识符,用户脚本管理器根据它们来判断一个脚本是否已安装。Greasy Fork 也需要这些属性,若用户在更新脚本时改变了两者中的任意一项,将发出警告。
§@version
脚本的版本标记将使用 Mozilla 版本格式 并显示于脚本的简介页面。Greasy Fork 要求填写该属性,且当用户更新脚本时没有更新版本号或降低了版本号时将发出警告。
§@include, @exclude,@match
描述脚本会在哪些网站上运行。该列表会被解析和展示到脚本的简介页面,并用于脚本的分类。每个脚本须有至少一个 @match 或 @include。了解格式细则。
§@require
在您的脚本中引用其他外部脚本。请参见 包含外部脚本的使用规定。
§@updateURL, @installURL, @downloadURL
告知用户脚本管理器应该在哪个地址获取脚本更新。Greasy Fork 将自动修改该属性使其永远通过 Greasy Fork 进行更新。
§@license
许可协议描述的是您是否允许别人以某些形式复制或修改您的脚本。建议从 SPDX 许可协议列表 中选择「Full name」或「Identifier」填至此处。若您不提供许可协议,则表示仅允许个人使用且不得二次分发。许可协议将在脚本的简介页面显示。
§@supportURL
该脚本的技术支持链接(如:错误反馈系统、论坛、电子邮件等),该链接将显示在脚本的反馈页面。
§@contributionURL
用于捐赠脚本作者的链接,该链接将显示在脚本的反馈页面。网址可以为 http、https 或比特币协议的网址。如果您需要链接到贝宝捐赠页面,请使用例如 https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=your.email.here@example.com&item_name=Greasy+Fork+donation 这样的格式,替换为您自己的邮箱即可。
§@contributionAmount
建议捐赠金额,请配合 @contributionURL 使用。
§@compatible
标记此脚本与某个浏览器兼容,兼容性信息将显示在脚本的简介页面上。您也可以添加额外的兼容说明,如 @compatible firefox 火狐上必须关闭广告过滤器 这样的格式。目前能被网站识别的浏览器名称有:firefox, chrome, opera, safari, edge。
§@incompatible
标记此脚本与某个浏览器不兼容,兼容性信息将显示在脚本的简介页面上。您也可以添加额外的兼容说明,如 @incompatible firefox 自火狐 23 开始不兼容 这样的写法。目前能被网站识别的浏览器名称有:firefox, chrome, opera, safari, edge。
§@antifeature
披露会为脚本作者而非用户带来额外收益的功能。你可以通过在脚本的元数据中添加 @antifeature <类型> <描述> 值的方法披露。Greasy Fork 会解析这几种类型:ads (该脚本会展示广告给脚本使用者)、 tracking (该脚本会追踪用户的活动)、miner(该脚本含有虚拟货币挖矿代码)以及referral-link(脚本会重写或重定向链接来添加推荐/返利代码),而其它类型的值将会被忽略。即便如此,脚本也必须遵守 Greasy Fork 的规则。描述段可以留空。
§@antifeature:XX-YY
你可以使用多种语言声明 @antifeature 属性,其中 XX 为 ISO 639-1 中定义的两个字符的代码,而 YY 则是一个可选的 ISO 3166 中定义的国家代码。在@antifeature中制定的每一个类型都可以自定义其本地化的说明。

五、用户脚本

你可以在这里搜索下载你所需要的其他人发布的脚本

Userscript.Zone Search

Userscript.Zone Search 是一个新网站,允许通过输入合适的URL或域来搜索用户脚本。
  大量的脚本资源
  很容易找到合适的用户脚本
  仅显示受审核的用户脚本页面或至少具有注释功能的页面中的用户脚本

GitHub/Gist

你可以在 Github 和 Gist 中 搜索脚本资源。

GreasyFork

GreasyFork 或许是最受欢迎的后起之秀了。它由 Jason Barnabe 创建,Jason Barnabe 同时也是 Stylish 网站的创办者,在其储存库中有大量的脚本资源。
  大量的脚本资源
   拥有可以从 Github 中进行脚本同步的功能
  非常活跃的开放源代码发展模式

OpenUserJS

OpenUserJS 继 GreasyFork 之后开始创办。它由 Sizzle McTwizzle 创建,同样地,在其储存库中也拥有大量的脚本资源。
  大量的脚本资源
  拥有可以从 Github、fork scripts 中进行脚本同步的功能
  非常活跃的开放源代码发展模式


@SquareBlock

一个普通高中生

Tampermonkey脚本编写相关推荐

  1. Tampermonkey脚本编写笔记一:页面元素及框架分析

    我们在编写Tampermonkey脚本时,首先分析页面,定位元素,需要分以下三步: 1.定位元素:通过开发人员工具使用"审查元素",即可定位到页面中的元素 2.分析元素所在的窗口: ...

  2. Tampermonkey(油猴)脚本编写快速入门

    目录 油猴脚本概述 脚本注释/注解 脚本权限 grant 添加新脚本 自定义网页倒计时 网页浏览离开黑屏保护 微博视频下载助手 华为云工作项列表突出展示工作项 Greasy Fork 发布脚本 油猴脚 ...

  3. 2021年大数据Kafka(三):❤️Kafka的集群搭建以及shell启动命令脚本编写❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的集群搭建以及shell启动命令脚本编写 一.搭建 ...

  4. 老李推荐:第3章3节《MonkeyRunner源码剖析》脚本编写示例: MonkeyImage API使用示例 1...

    老李推荐:第3章3节<MonkeyRunner源码剖析>脚本编写示例: MonkeyImage API使用示例 在上一节的第一个"增加日记"的示例中,我们并没有看到日记 ...

  5. Linux编写脚本查看mod,Linux shell脚本编写基础

    在进行linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入 ./smartzip就能运行脚本了.. 每行 ...

  6. 【Android 内存优化】libjpeg-turbo 函数库交叉编译与使用 ( 交叉编译脚本编写 | 函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 )

    文章目录 一.交叉编译 Shell 脚本参考 二.NDK r16b 版本配置 三.libjpeg-turbo 交叉编译 Shell 脚本 四.执行 libjpeg-turbo 交叉编译 Shell 脚 ...

  7. SecureCRT中Python脚本编写学习指南

    引言 在测试网络设备中,通常使用脚本对设备端进行配置和测试以及维护:对于PE设备的测试维护人员来说使用较多是SecureCRT工具:SecureCRT支持VB.JavaScript.Python等多种 ...

  8. 使用脚本编写 Vim 编辑器,第 5 部分: 事件驱动的脚本编写和自动化

    Vim 的事件模型 Vim 编辑功能的运行方式是事件驱动的.但由于性能上的原因,实际的实现要远比这个复杂,还需要进行许多事件处理优化或者处理事件循环下面的几层,但是您仍然可以将编辑器看成一个简单循环, ...

  9. 使用脚本编写 Vim 编辑器,第 4 部分: 字典

    Vimscript 中的字典 在本质上和 AWK 关联数组.Perl 哈希表,或者 Python 字典都是一样.也就是说,这是一个无序容器,按字符串而不是整数来进行索引. Vimscript 系列 的 ...

最新文章

  1. ansys大变形开关要不要打开_ANSYS网格质量评定指标介绍
  2. python sqlite和mysql_python怎么与mysql、sqlite数据库通信——适配器:DB-API
  3. oracle常用日期函数
  4. C#获取动态代码的值
  5. Java设计模式(十一):组合设计模式
  6. 映射Mapper.xml文件的几种方式
  7. 【算法设计与分析】流水作业调度问题 动态规划算法与代码实现 超详细
  8. 【转】ON_MESSAGE使用方法
  9. 华为端口聚合命令_华为交换机链路聚合命令
  10. 监听浏览器返回,可清除历史记录(移动端:手势返回)(vue)
  11. Word 题注重新编号
  12. 火狐浏览器渗透插件_关于浏览器插件渗透的思考
  13. 用python实现erp出入库_ERP采购入库成品入库流程(精)
  14. react-native报错-Unable to resolve module ‘react’
  15. 攻防世界-web NewsCenter3
  16. 含文档+PPT+源码等]精品基于Uniapp实现的Android的餐饮管理系统实现的App[包运行成功]计算机毕业设计安卓项目源码
  17. 图卷积网络原理(二)【图信号与图的拉普拉斯矩阵】
  18. 用c语言复制程序,怎么用C程序写出一个能复制自己的程序?
  19. 阿里应届生复习面试攻略
  20. 让你不再害怕指针——C指针详解(经典,非常详细)

热门文章

  1. java启动绑定网卡_ServerSocket 默认邦定IP
  2. Android高版本联网失败报错:Cleartext HTTP traffic to xxx not permitted解决方法
  3. 盘点2018年网络空间安全热点:GDRP,微隔离,容器安全,SOC······
  4. 以下哪种数据结构的查找效率最高
  5. 浏览器打开本地exe
  6. Python深度学习-快速指南
  7. 如何禁用笔记本触摸板
  8. 学习vue3组件事件时,思维发散(溜号)的感悟
  9. 两种方法教你修改MAC地址 !
  10. linux wall命令_如何在Linux上使用wall命令