![]() | 1 paledream 2024-01-02 08:56:46 +08:00 ```js window.Onbeforeunload= () => false; ```` 这样试试 |
2 Melting 2024-01-02 09:47:42 +08:00 要阻止可以覆盖原来的跳转函数逻辑,比如重写 setTimeout 或者 window.open |
![]() | 3 cF06myaQ57WHKMBv 2024-01-02 09:53:29 +08:00 1 、先看一下 b.js 里面的跳转逻辑,看看是使用那个函数来实现跳转 2 、让 a.js 先于 b.js 加载 3 、在 a.js 中覆盖 b.js 中使用的函数 |
![]() | 4 Liam1997 2024-01-02 11:20:01 +08:00 如果仅仅是为了完成需求的话,chrome 浏览器打开 network 面板就可以 block 掉指定资源了,也就是你这里所说的 b.js ,这个方案是最无脑、最快的 麻烦点的话,可以用 chrome search 下 b.js 里相关跳转代码(.open 、.href = 'xxx' 这种),然后加断点进行调试,定位到之后就很好办了,用 Charles 等代理工具或者 Chrome 内置的资源覆盖能力每次访问该网站的时候用本地 js override 掉 b.js |
5 devilarchitect 2024-01-03 10:07:03 +08:00 直接点 把 b.js 的跳转代码注释掉; 或者添加监听 addEventListener(),触发条件是有跳转操作的时候定义为锚链接(按你们业务来) |