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 分钟前
Webpack 5模块联邦
前端·javascript·面试
玲小珑20 分钟前
Next.js 教程系列(十九)图像优化:next/image 与高级技巧
前端·next.js
晓得迷路了21 分钟前
栗子前端技术周刊第 91 期 - 新版 React Compiler 文档、2025 HTML 状态调查、Bun v1.2.19...
前端·javascript·react.js
江城开朗的豌豆27 分钟前
Vue和React中的key:为什么列表渲染必须加这玩意儿?
前端·vue.js·面试
江城开朗的豌豆33 分钟前
前端路由傻傻分不清?route和router的区别,看完这篇别再搞混了!
前端·javascript·vue.js
pengzhuofan36 分钟前
Web开发系列-第0章 Web介绍
前端
小鱼人爱编程1 小时前
Java基石--反射让你直捣黄龙
前端·spring boot·后端
JosieBook2 小时前
【web应用】如何进行前后端调试Debug? + 前端JavaScript调试Debug?
前端·chrome·debug
LBJ辉2 小时前
2. Webpack 高级配置
前端·javascript·webpack
灵感__idea9 小时前
JavaScript高级程序设计(第5版):好的编程就是掌控感
前端·javascript·程序员