cny100 发表于 2021-12-23 21:19:02

如何关闭弹窗

如图,这种弹窗怎么通过脚本关掉

cxxjackie 发表于 2021-12-23 22:10:12

查看其代码逻辑,直接调用按下确定以后的提交函数,或者模拟回车,或者简单粗暴屏蔽弹窗:
window.confirm = () => true;

王一之 发表于 2021-12-23 22:11:48

这是系统的,无法关闭,但是可以在调用的地方进行屏蔽

cny100 发表于 2021-12-23 23:05:15

王一之 发表于 2021-12-23 22:11
这是系统的,无法关闭,但是可以在调用的地方进行屏蔽

哥哥怎么操作

李恒道 发表于 2021-12-24 00:19:57

cxxjackie 发表于 2021-12-23 22:10
查看其代码逻辑,直接调用按下确定以后的提交函数,或者模拟回车,或者简单粗暴屏蔽弹窗:
...
话说哥哥你研究过vue的patch么
我突然有一个很疑惑的问题
假设vue旧vnode里存在一个组件A
更新之后新vnode里不存在组件A了
这时候patch对组件A做销毁处理
但是这个时间旧vnode依然存在组件A的vm实例
vue是怎么做回收处理的?
是当vm把新节点设为旧节点,然后原旧节点无任何引用被GC自动回收掉的吗
如果按这个想法,那keep-alive本质就是把握住一个引用不让GC掉?

(每次遇到什么问题就找大佬,有种大雄找小叮当的既视感)

李恒道 发表于 2021-12-24 00:22:20

cny100 发表于 2021-12-23 23:05
哥哥怎么操作
cxxjackie给的window.confirm = () => true;例子是对的
你直接对着用就可以了

涛之雨 发表于 2021-12-24 10:44:12

在弹窗前window.close{:4_111:}
100%解决

cxxjackie 发表于 2021-12-24 11:30:40

李恒道 发表于 2021-12-24 00:19
话说哥哥你研究过vue的patch么
我突然有一个很疑惑的问题
假设vue旧vnode里存在一个组件A


这个没研究过,翻了一下源码,销毁调用了invokeDestroyHook方法,该方法调用了vnode.data.hook.destroy(),最终调用到组件的$destroy方法:
可以看到并没有做什么特殊处理(__patch__是对子组件递归销毁),就是断开相关的绑定和监听,然后把引用置空而已,应该是靠GC回收的(个人理解,不一定对)。keep-alive的处理在vnode.data.hook.destroy中,判断如果是keep-alive就进入deactivate流程,不是就$destroy。

李恒道 发表于 2021-12-24 14:05:18

cxxjackie 发表于 2021-12-24 11:30
这个没研究过,翻了一下源码,销毁调用了invokeDestroyHook方法,该方法调用了vnode.data.hook.destroy() ...

差不多一个想法
哆唻C梦牛逼!

HPUhushicheng 发表于 2024-7-12 20:40:21

https://www.sunzhongwei.com/lighting-automatically-hang-tampermonkey-click-alert-popups-confirm-button

// 重写 window.confirm 方法,始终返回 true(模拟用户点击了确定按钮)
      window.confirm = function () {
            return true;
      };
页: [1]
查看完整版本: 如何关闭弹窗