当前位置: 首页 > news >正文

3.编写油猴脚本之-helloword

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,'')// 查看是否可以debdebugger
})();

在这里插入图片描述

解释

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

相关文章:

  • openwrt的openclash提示【更新失败,请确认设备闪存空间足够后再试】
  • torch.nn.Module
  • 论文解析-基于 Unity3D 游戏人工智能的研究与应用
  • 6、Flutterr聊天界面网络请求
  • Java 8 腰斩!Java 17 暴涨 430%!!(文末福利)
  • 如何手写一个支持H.265的高清播放器
  • Day 1 认识软件测试——(软件测试定义、目的、原则)
  • Docker Harbor
  • 第三十四章 Unity人形动画(上)
  • 计算机图形学-GAMES101-7
  • AndroidAuto 解决PCTS NF7
  • GPT:你知道这五年我怎么过的么?
  • Python一行命令搭建HTTP服务器并外网访问 - 内网穿透
  • TypeScript5-泛型
  • IMX6ULL裸机篇之DDR3的时钟配置
  • PBDB Data Service:Specimens and measurements(标本和测量)
  • Zookeeper(一)
  • Maven(五):Maven的使用——依赖的测试
  • 超级独角兽 Databricks 的崛起之路
  • python 3.8 + tensorflow 2.4.0 + cuda11.0 的问题
  • 华为杯”研究生数学建模竞赛2021 年中国研究生数学建模竞赛 E 题: 信号干扰下的超宽带(UWB)精确定位问题-参考思路
  • Java 中的访问修饰符有什么区别?
  • Go基础篇:接口
  • 边缘计算:数字时代的新战场
  • PBDB Data Service:Fossil occurrences(化石产出记录)
  • 虾皮Shopee商品详情接口(item_get-根据ID取商品详情)代码封装
  • 原生js手动实现一个多级树状菜单效果(高度可过渡变化) + 模拟el-menu组件实现(简单版)
  • RK3568平台开发系列讲解(Linux内存篇)Linux内存管理框架
  • 你的编程能力从什么时候开始突飞猛进?
  • 滨州高企认定条件