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 /

☎️ 欢迎留言

相关推荐
沙振宇1 分钟前
【Web】使用Vue3+PlayCanvas开发3D游戏(六)模拟自驾场景SR+3D可视化
前端·游戏·3d·vue3·playcanvas
吴所畏惧7 分钟前
前端打包cdn或者dll打包方式
前端
小鲤鱼ya10 分钟前
vue3 + ts + uni-app 移动端封装图片上传添加水印
前端·typescript·uni-app·vue3
霍理迪12 分钟前
Vue—条件渲染与循环渲染
前端·javascript·vue.js
xixixin_16 分钟前
【CSS】字体大小不一致?px与vw渲染差异的底层原理与解决方案
前端·css
小J听不清21 分钟前
CSS 内边距(padding)全解析:取值规则 + 表格实战
前端·javascript·css·html·css3
zhangjikuan8922 分钟前
在 ArkTS 中,Promise 的使用比 TypeScript 更严格(必须显式指定泛型类型)
前端·javascript·typescript
桐溪漂流22 分钟前
Uni-app H5 环境下 ResizeObserver 监听 mp-html 动态高度
前端·uni-app·html
Highcharts.js24 分钟前
React 如何实现大数据量图表(性能优化指南)
前端·javascript·react.js·信息可视化·集成·highcharts
奔跑的呱呱牛25 分钟前
如何设计一个可扩展的地图前端架构?从0到1的工程实践(OpenLayers)
前端·架构·openlayers