HTTP 前端调试如何拦截跳转?

2023-09-12 18:08:22 +08:00
 huahsiung

网页跳转有 http 302 跳转 <meta http-equiv="refresh"> 和 window.location 。

302 和 window.location 跳转的时候会清除控制台,记录就没有了。

而网上搜到的“拦截弹出式窗口”,只能阻止 window.open 方法。

找到其他方法如:用 Burp Suite 或者 Fiddler 确实可以留下记录,但是调试网页一点也不方便,也没有控制台。

有什么办法可以暂停 http 302 ,window.location 自动跳转。好像自动跳转后控制台记录就没有了。

难道可以重写 window.location 方法??,那么 http 302 怎么办呢
1178 次点击
所在节点    程序员
5 条回复
xiangyuecn
2023-09-12 18:13:28 +08:00
勾选 Preserve log ?
netnr
2023-09-12 18:47:22 +08:00
如果是 1 楼这个需求(推断原始需求是保留记录),而 OP 问了自己想到的解决办法出现的新问题,所以原始需求就显得特别重要,少走弯路
前面有看到类似的回复,有感而发
huahsiung
2023-09-12 19:41:58 +08:00
@xiangyuecn 没想到确实可以这样用,chrome 下叫“保存日志”,firefox 下叫“持续记录”。

通过重写 window.对象,和 Burp 暂停 http 3xx 确实有点绕路了。
ajan
2023-09-12 23:26:43 +08:00
可以利用 window.onbeforeunload
CC11001100
2023-09-19 10:30:44 +08:00
看到一楼已经满足了 op 的需求,但还是在此贴一下,如#4 楼所说,可以利用页面 unload 事件拦截,这是之前写过的一个拦截网页跳转的通杀的脚本😀:

https://github.com/JSREI/page-redirect-code-location-hook

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

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

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

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

© 2021 V2EX