js 怎样阻止页面中其它 js 的自动跳转并不弹出任何提示?

175 天前
 kisshere
比如 www.a.com 页面中加载了一个文件:b.js ,在页面加载几秒后执行自动跳转到另一个网站 www.b.com 上去,那么怎样在 www.a.com 中引入一个 js ,阻止其该 b.js 执行自动跳转?如果用 beforeunload 还会弹出一个提示,怎样让该 js 静默的阻止 b.js 的跳转?
1688 次点击
所在节点    程序员
5 条回复
paledream
175 天前
```js
window.onbeforeunload = () => false;
````
这样试试
Melting
175 天前
要阻止可以覆盖原来的跳转函数逻辑,比如重写 setTimeout 或者 window.open
ljtfdt
175 天前
1 、先看一下 b.js 里面的跳转逻辑,看看是使用那个函数来实现跳转
2 、让 a.js 先于 b.js 加载
3 、在 a.js 中覆盖 b.js 中使用的函数
Liam1997
175 天前
如果仅仅是为了完成需求的话,chrome 浏览器打开 network 面板就可以 block 掉指定资源了,也就是你这里所说的 b.js ,这个方案是最无脑、最快的 😂

麻烦点的话,可以用 chrome search 下 b.js 里相关跳转代码(.open 、.href = 'xxx' 这种),然后加断点进行调试,定位到之后就很好办了,用 Charles 等代理工具或者 Chrome 内置的资源覆盖能力每次访问该网站的时候用本地 js override 掉 b.js
devilarchitect
174 天前
直接点 把 b.js 的跳转代码注释掉;
或者添加监听 addEventListener(),触发条件是有跳转操作的时候定义为锚链接(按你们业务来)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1005033

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX