【发布时间】:2017-03-13 16:15:45
【问题描述】:
我有一个场景,用户通过查询字符串接收从一个站点到另一个站点的往返重定向。
例如,用户从example-site-a.com 开始,被重定向到example-site-b.com?redirectBackTo=example-site-a.com,并通过将window.location.href 设置为查询字符串值被重定向回原始站点。
我想调试/单步调试位于第二个站点上的 JavaScript,但第二次重定向发生在眨眼之间。
说我在 example-site-b.com 上的 JavaScript 看起来像这样:
<script>
alert("debug!");
debugger;
console.log("test");
</script>
alert() 不会暂停代码执行,debugger 也不起作用。我还尝试在 Chrome DevTools 中设置事件侦听器断点以在 Script First Statement 上暂停,但 console.log 语句仍然让我无法理解。
我只是想逐步了解example-site-b 上的上述代码。有什么想法吗?
【问题讨论】:
-
是什么导致了这个重定向?它会等待所有 JS 停止运行吗?在这种情况下,您可以使用 setTimeout,以便您有时间按下 F12 按钮。如果重定向将发生在服务器端或不等待站点 b 中的 JS 完成,则您必须暂时删除重定向机制,然后手动重定向到站点 b 进行测试。
-
@Shilly 我正在使用
window.location.href重定向到站点 B - 站点 B 在 JavaScript 中设置了一个 cookie,并立即使用window.location.href重定向回站点 A。 -
Script First Statement事件断点应该可以解决问题。你能描述一下你所看到的吗? -
@KayceBasques 眨眼间就看到站点 B 重定向到站点 A。当
Script First Statement被选中时,我可以单步执行位于.js文件中的所有JavaScript,但不能单步执行我需要单步执行的页面<script>代码。 -
@Shilly 这种疯狂的 hacky / 美丽的方法最终像魅力一样为我工作。谢谢!您能否将您的回复写为答案,以便我将其标记为“已接受”?
标签: javascript google-chrome redirect google-chrome-devtools