yuandeabc 发表于 2021-9-14 22:44

油猴去弹窗问题

之前,浏览器控制台那里,去alert弹窗我都是用 var alert=function(){return 1}   
问题是放到油猴脚本里,不起作用了,alert弹窗照样跳出来。
请问各位大哥,油猴脚本怎么写,才能干掉alert弹窗。

咬字分开念 发表于 2021-9-14 22:56



var alert.Contains("function()")
{return 1}

涛之雨 发表于 2021-9-14 23:11

油猴里的window和页面里的window不一样,
应该用unsafewindow(找一下相关的参考一下)
然后写成unsafewindow.alert=(a)=>console.log(a);

yuandeabc 发表于 2021-9-14 23:12

咬字分开念 发表于 2021-9-14 22:56


二楼这个提示语法错误。
我知道弹窗不起作用的原因了,alert前面没加前缀.加了前缀,现在弹窗不跳出来了。
然后这又导致一个新的问题,弹窗被我干掉了,问题是,正常情况下,点击弹窗会跳转到新的页面。而弹窗被干掉后,不再跳转到新页面了。{:1_907:}

yuandeabc 发表于 2021-9-14 23:47

本帖最后由 yuandeabc 于 2021-9-15 00:35 编辑

屏蔽掉弹窗后,不跳转页面是个大问题。并且从弹窗被屏蔽的页面开始,不再继续执行脚本。

brightwill 发表于 2021-9-15 10:07

会不会是先执行了脚本弹窗才跳出来的加个定时器看看

yuandeabc 发表于 2021-9-15 10:48

本帖最后由 yuandeabc 于 2021-9-15 10:54 编辑

brightwill 发表于 2021-9-15 10:07
会不会是先执行了脚本弹窗才跳出来的加个定时器看看
加了定时器,弹窗之后10秒,执行点击按钮动作。弹窗被屏蔽了,按钮点击动作没有执行。如果脚本中删除屏蔽弹窗的代码,脚本中的按钮点击动作就能够被执行。不过,据百度说油猴中的 setTimeout 实际是不起作用的。我等会看看是不是这样的。

brightwill 发表于 2021-9-15 11:53

yuandeabc 发表于 2021-9-15 10:48
加了定时器,弹窗之后10秒,执行点击按钮动作。弹窗被屏蔽了,按钮点击动作没有执行。如果脚本中删除屏蔽 ...

//睡眠,默认一秒
    function sleep (time=1000) {
   return new Promise((resolve) => setTimeout(resolve, time));
   }
然后用await sleep(1000);调用
我还没遇到过定时器不执行的情况你用定时器倒计时console.log("已点击")试试看是否生效

yuandeabc 发表于 2021-9-15 20:13

本帖最后由 yuandeabc 于 2021-9-15 20:23 编辑

问题圆满解决了,感谢楼上各位大哥对小弟的帮助!
页: [1]
查看完整版本: 油猴去弹窗问题