jQuery写油猴脚本报错eslint:no-undef - '$' is not defined

我们平常为了在网页端做一些利于我们或者用户的小功能,常常会考虑用油猴脚本来实现。

油猴脚本已加载了jQuery库,所以我们做的时候直接用就好了,不需要额外再去加载(不需要额外再去加载 // @require https://code.jquery.com/jquery-2.1.4.min.js这么一说了)。

油猴脚本直接用jq

至于前面安装Tampermonkey这个插件,可以自行去商店去搞下来,这里直接点击+号,直接开一个新的油猴脚本。

比如说我们直接在百度这个页面百度热搜下面加个文字,那么如下,我们需要改match哪个地址,然后在自调函数里面写就可以了:

这个.s-news-rank-content就是百度热搜的ul这个元素:

接下来我们来看看控制台,有没有打印出来这个元素:

控制台有打印,也就证实了确实油猴脚本自带jQuery。自带jq非常方便开发人员去编写任意脚本,比如说去除广告弹窗以及推广信息那些东西增加或者减少某个元素啊,给页面加某个快捷键啊新功能这样的自动翻译、自动抢购......等等等等。话又说回来,直接用js可以吗,不用jq,可以。没有问题,都可以的,不过jq语法会相对来说更简单。

警告

但是,再看看代码页面,为什么会有个警告⚠️黄色的,太影响我敲代码的心情了。把鼠标移到警告上面看看报的什么错,对症下药。

不是说油猴脚本自带jQuery了吗,不是也证实了是可用的了吗?怎么这里还报这个$ is not defined.

是可用,这个报错是报的ESLint的,它不知道这个符号有没有被定义,全篇幅没有定义这个$东西但是油猴自带了,这里也就出现了ESLint的警告,说好像我们没有定义过这个$,让我们检查一下代码。

解决警告

在上面UserScript部分加个/* global $ */注释语法指令就可以了。

这样做,告诉ESLint,$是在其他文件中已经定义了(虽然没有在这个油猴脚本文件中定义过),不需要对$进行更多的定义跟检查。

同理。

如果以后出现这种类似的ESLint警告。在JavaScript中,在一些情况下,如果我们希望适应一些已经在其它地方定义好的全局变量,而不需要再进行定义。

这个时候,就可以使用/* global xxx */ 注释来告诉代码编辑器,这些变量已经在其它地方定义过了,我知道没有错,不要检查加再提醒我了。

如果多个的话就用逗号分隔/* global xxx, xxx, xxx /

☎️ 欢迎留言

相关推荐
烛阴17 分钟前
Date-fns教程:现代JavaScript日期处理从入门到精通
前端·javascript
全栈小524 分钟前
【前端】Vue3+elementui+ts,TypeScript Promise<string>转string错误解析,习惯性请出DeepSeek来解答
前端·elementui·typescript·vue3·同步异步
穗余33 分钟前
NodeJS全栈开发面试题讲解——P6安全与鉴权
前端·sql·xss
穗余2 小时前
NodeJS全栈开发面试题讲解——P2Express / Nest 后端开发
前端·node.js
航Hang*2 小时前
WEBSTORM前端 —— 第3章:移动 Web —— 第4节:移动适配-VM
前端·笔记·edge·less·css3·html5·webstorm
江城开朗的豌豆2 小时前
JavaScript篇:a==0 && a==1 居然能成立?揭秘JS中的"魔法"比较
前端·javascript·面试
江城开朗的豌豆2 小时前
JavaScript篇:setTimeout遇上for循环:为什么总是输出5?如何正确输出0-4?
前端·javascript·面试
橘子味的冰淇淋~2 小时前
npm run build 报错:Some chunks are larger than 500 KB after minification
前端·npm·node.js
QING6183 小时前
Gradle 核心配置属性详解 - 新手指南(二)
android·前端·gradle
普通老人3 小时前
【前端】Vue中实现pdf逐页转图片,图片再逐张提取文字
前端·vue.js·pdf