$在setTimeout里无法使用,具体平台是斗鱼www.douyu.com,想要自动关闭弹幕写了个tampermonkey插件,就使用了如下代码$("div[class^='showdanmu-']").click()F12在控制台直接输入是正常的,以上语句可以找到下面的div:<div class="showdanmu-42b0ac removed-9d4c42" title="关闭弹幕"></div>但是放到js里面的延时函数里就不行了,具体代码如下:setTimeout(function(){$("div[class^='showdanmu-']").click();console.log("###Douyu###");},5000);报错如下:VM1850:1 Uncaught ReferenceError: $ is not defined at <anonymous>:1:31于是,我又试了下简单的控制台直接输入setTimeout(function(){console.log(typeof($));console.log("###Douyu###");},5000);得到如下结果5572VM2021:1 undefined
VM2021:1 ###Douyu###问题:是斗鱼用了什么类似作用域的东西限制了在setTimeout里面的$的使用吗?前端接触不久不是很了解,此前版本这个语句在斗鱼上跑的一切正常最近开始找不到$的。插件地址:https://greasyfork.org/script...现在暂时方案是里面自己加了jquery引用,但是似乎会跟斗鱼自己的冲突,导致关注页面加载异常所以不得不在此求助各位大牛
添加回答
举报
0/150
提交
取消