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 /

☎️ 欢迎留言

相关推荐
Mr.Jessy29 分钟前
JavaScript高级:构造函数与原型
开发语言·前端·javascript·学习·ecmascript
白兰地空瓶2 小时前
🚀你以为你在写 React?其实你在“搭一套前端操作系统”
前端·react.js
爱上妖精的尾巴3 小时前
6-4 WPS JS宏 不重复随机取值应用
开发语言·前端·javascript
似水流年QC3 小时前
深入探索 WebHID:Web 标准下的硬件交互实现
前端·交互·webhid
陪我去看海4 小时前
测试 mcp
前端
speedoooo4 小时前
在现有App里嵌入一个AI协作者
前端·ui·小程序·前端框架·web app
全栈胖叔叔-瓜州4 小时前
关于llamasharp 大模型多轮对话,模型对话无法终止,或者输出角色标识User:,或者System等角色标识问题。
前端·人工智能
三七吃山漆5 小时前
攻防世界——wife_wife
前端·javascript·web安全·网络安全·ctf
用户47949283569155 小时前
面试官问"try-catch影响性能吗",我用数据打脸
前端·javascript·面试
GISer_Jing5 小时前
前端营销技术实战:数据+AI实战指南
前端·javascript·人工智能