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 /

☎️ 欢迎留言

相关推荐
月明长歌6 分钟前
Vue + Axios + Mock.js 全链路实操:从封装到数据模拟的深度解析
前端·javascript·vue.js·elementui·es6
CodeCraft Studio16 分钟前
Excel处理控件Spire.XLS系列教程:C# 合并、或取消合并 Excel 单元格
前端·c#·excel
头顶秃成一缕光27 分钟前
若依——基于AI+若依框架的实战项目(实战篇(下))
java·前端·vue.js·elementui·aigc
冴羽yayujs31 分钟前
SvelteKit 最新中文文档教程(17)—— 仅服务端模块和快照
前端·javascript·vue.js·前端框架·react
木木黄木木43 分钟前
HTML5图片裁剪工具实现详解
前端·html·html5
念九_ysl1 小时前
基数排序算法解析与TypeScript实现
前端·算法·typescript·排序算法
海石1 小时前
vue2升级vue3踩坑——【依赖注入】可能成功了,但【依赖注入】成功了不太可能
前端·vue.js·响应式设计
uhakadotcom1 小时前
Vite 与传统 Bundler(如 Webpack)在 Node.js 应用的性能对比
前端·javascript·面试
uhakadotcom1 小时前
Socket.IO 简明教程:实时通信的基础知识
前端·javascript·面试