3.编写油猴脚本之-helloword

news2024/9/21 20:37:17

3.编写油猴脚本之-helloword

Start

通过上一篇文章的学习,我们安装完毕了油猴插件。今天我们来编写一个helloword的脚步,体验一下油猴。

1. 开始

点击油猴插件=>添加新脚本

在这里插入图片描述

在这里插入图片描述

默认生成的脚本

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://*/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
})();

解释:

  1. 不会编写脚本?没关系,可以点击获取脚本,然后根据你的需求,去下载并使用对应脚本。

  2. 当然我这个系列的目标是,自己编写脚本,根据我们自己具体的需求,去自定义脚本。

  3. 上述生成的基础脚本代码,可以发现其实也是一个JS文件。

  4. 开头有很多行注释的内容,这些注释的内容有用吗?有什么用?

    下一节内容会对这里作说明

  5. 后续的具体代码,可以看到,其实就是编写JS代码。

2. 注释项说明

在基础的脚本示例中,开头有很多注释行,既然是注释,那么他们有用吗?

我删除掉注释行,保存试一下?

在这里插入图片描述

结合上述的截图,我们可以发现,当我删除掉这些注释行,点击保存按钮时,系统会提示我们“脚本无效”。

那么这些注释代表什么意思呢?

2.1 注释项详细说明

官方注释项说明文档

在这里插入图片描述

常见的项:

标题作用使用实例
name脚本的名称。New Userscript
version脚本的版本
description脚本的说明
author脚本的作者
match匹配脚本运行网页的url
grant引入函数,或者变量
@include脚本应运行的页面。允许多个标记实例。
@require指向在脚本本身开始运行之前加载和执行的 JavaScript 文件。

3. 编写一个 helloworld 脚本。

// ==UserScript==
// @name         tomato_shell
// @version      0.1
// @description  脚本的说明 hellotomato
// @author       tomato
// @match        http://*/*
// @match        https://*/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==


/*
1.虽然是注释,但是通过`==UserScript==`包裹。用来和普通的注释做区分
==UserScript== 
==/UserScript==
*/

/*
2.@match 
定义所有的http或者https的网站,都会加载我们的脚本。
*/

(function() {
  'use strict';

  // 3.编写一个输出
  console.log('我是番茄')


  // 4.打印一下全局变量
console.log(globalThis,'')
  // 查看是否可以deb
  debugger
})();

在这里插入图片描述

解释

  1. 设定match 可以执行脚本的网站,就可以执行我们的js代码
  2. 答应全局变量是window
  3. 可以通过 debugger 调试我们的脚本

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

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

相关文章

Linux介绍及环境搭建

文章目录 🎬1.Linux背景💻1.1 计算机的发展💻1.2 操作系统的故事💻1.3 Linux操作系统💻1.4 Linux的应用场景💻1.5 Linux版本 🔌2. Linux环境💾2.1 环境选择💾2.2 云服务器…

u1s1,查问题已经从百度到Google,再从Google到gpt了

现在查问题,查资料,基本都是问gpt。 感觉AI的回答会比较智能。 除了解释说明,还会附录Demo源码。 而且没有广告和其他杂七杂八的。 方便/快捷,提高了工作效率。 举例 上传图片后无法渲染的文章,发现数据库的图片地址前缀带blob,可…

数据结构-查找-线性结构(顺序、折半、分块)查找

目录 一、顺序查找 *查找效率分析 二、折半查找 *查找效率分析 三、分块查找 *查找效率分析 一、顺序查找 有称线性查找, 算法思想:从头到尾挨个查找(反过来也行) typedef struct{int *elem; //数据int TableLen; …

MySQL原理(六):日志

前言 上一篇介绍了 MySQL 的锁,这一篇将介绍日志相关的内容。 MySQL 中最常见的日志有三类: undo log(回滚日志):是 Innodb 存储引擎层生成的日志,实现了事务中的原子性,主要用于事务回滚和 …

MATLAB程序在设备端部署实例

背景介绍 MATLAB广泛应用于物理系统建模、测量测试、系统控制以及深度学习等,在工程实践中具有非常重要的地位,具体如图1所示。调研发现,科研人员能够编写各种matlab代码,通过建模仿真来更好的认识世界。近年来,随着物…

《LeetCode》—— 摆动序列

今天,我们要讲解的是 “摆动序列” 这道题目。对于这道题目,我们可以从贪心的思想去解决,也可以使用动态规划的方法。接下来,我通过这两种方法的讲解让你轻松拿捏它! 目录 (一)贪心算法 1、上下…

跑在笔记本里的大语言模型 - GPT4All

何为GPT4All GPT4All 官网给自己的定义是:一款免费使用、本地运行、隐私感知的聊天机器人,无需GPU或互联网。 从官网可以得知其主要特点是: 本地运行(可包装成自主知识产权🐶)无需GPU(穷人适配…

sort、uniq、tr、cut的使用

管理文件内容的使用 一、sort命令二、uniq命令三、tr命令四、cut命令 一、sort命令 sort命令是以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序,比较原则是从首字符向后,依次按ASCII码进行比较,最后将他们按升序输…

Linux:rpm查询安装 yum安装

环境: 需要插入安装镜像 镜像内有所需的安装库 我这里使用的虚拟机直接连接光盘 连接的光盘挂载在/dev/cdrom 由于我们无法直接进入,所以选择把/dev/cdrom挂载到别的地方即可 mount /dev/cdrom /123 将/dev/cdrom 挂载到 /123 目录下 Packages下就是…

C++笔记—— 第十七篇 智能指针 C++11来了(下)

目录 1. 为什么需要智能指针 2. 内存泄漏 2.1 什么是内存泄漏,内存泄漏的危害 2.2 内存泄漏分类 2.3如何避免内存泄漏 3.智能指针的使用及原理 3.1 RAII 3.2 智能指针的原理 3.3 std::auto_ptr 3.4 std::unique_ptr 3.5 std::shared_ptr shared_ptr的线…

JVM性能调优

一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参…

【牛客刷题专栏】0x28:JZ30 包含min函数的栈(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录 前言问…

【神经网络】tensorflow实验9--分类问题

1. 实验目的 ①掌握逻辑回归的基本原理,实现分类器,完成多分类任务; ②掌握逻辑回归中的平方损失函数、交叉熵损失函数以及平均交叉熵损失函数。 2. 实验内容 ①能够使用TensorFlow计算Sigmoid函数、准确率、交叉熵损失函数等&#xff0c…

(浙大陈越版)数据结构 第二章 线性结构 2.4 多项式的加法和乘法运算实现

目录 2.4.1多项式的加法运算实现 如何设计一个函数分别求两个一元多项式的和? 算法思路:两个指针p1,p2分别指向两个多项式的第一个结点(最高项)并循环 循环: 2.4.2 多项式的乘积 1.多项式的表示 2.程…

IPsec VPN IKE方式协商密钥

实验拓扑 要求pc1与pc2两个网络访问走ipsec隧道互访。 前言: ipsecs 隧道两端的acl规则定义的协议类型要一致,如果一端是ip协议,另一端也必须是ip协议 配置acl的原因是:1,通过acl(permit)指定需…

Metalama released Crack

Metalama released Crack Metalama是一个面向C#的元编程框架。它可以帮助您提高代码质量和生产力。使用Metalama,您可以通过在编译过程中动态生成样板文件来减少样板文件。您的源代码仍然非常清晰。根据体系结构、模式和约定实时验证代码。无需等待代码评审。通过定…

React从入门到实战 - React初体验

文章目录 特点相关JS库步骤准备步骤操作步骤 关于虚拟DOMJSX语法规则函数式组件常见的几种错误正确写法 类式组件 特点 采用组件化模式,声明式编程,提高开发效率及组件复用率在React Native 中使用React语法进行移动端开发使用虚拟DOM优秀的Diffing算法…

Java8 map.getOrDefault()你真的了解吗

大家好,我是三叔,很高兴这期又和大家见面了,一个奋斗在互联网的打工人。 map.getOrDefault()方法 在Java编程中,Map是一种非常常用的数据结构。Map通常用于存储键值对,其中每个键映射到一个值。当我们尝试访问一个不…

文件一直处于修改状态 git checkout 无法还原的问题解决方法

问题描述 最近在 RT-Thread 时,使用 Git 回退版本验证问题,后来 git pull 拉取最新代码后,发现里面有几个文件,一直为【修改】状态,并且无法还原,git checkout xxx git reset --hard 都用了,依旧…

基于AT89C51单片机的温度控制系统报警器

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87771724?spm1001.2014.3001.5503 源码获取 单片机读取温度传感器当前的温度值并在LCD液晶显示屏上的第一行显示当前的温度值,单片机读取按键状态并通过…