PC *_*nes 66 javascript firebug google-chrome google-chrome-devtools
我有一个页面,当它不应该重定向时,我正在试图找出谁在做它.首先我试着劫持window.location:
window.location = (function (location) {
// location is now hidden inside a closure. We can override it
var Location = Object.create(location);
// Location is now our proxy. We can use it to catch changes
window.__defineGetter__('location', function () { return Location });
window.__defineSetter__('location', function (x) { debugger; location = x; return x; });
// etc etc, considered assignments to location.href, location.search, location.host etc., as well as calls to location.replace and location.assign
}(window.location));
Run Code Online (Sandbox Code Playgroud)
这在Chrome中根本不起作用.出于安全原因,您无法在window.location上执行setter和getter.好.我尝试的下一件事是观察onunload和onbeforeunload:
['unload', 'beforeunload'].forEach(function (evName) {
window.addEventListener(evName, function () {
debugger; // Chance to check everything right before the redirect occurs
});
});
Run Code Online (Sandbox Code Playgroud)
我知道window.location的值会在onunload事件之后保持不变,再次出于安全原因,但我希望得到一些其他的线索; 没有这样的运气.我接下来尝试在我自己的脚本中找到的每个点都设置断点,其中可能会分配window.location.根据Chrome调试器,它们都没有被击中.哎呀.顺便说一下,这种重定向不会发生在FF中,我已经尝试重新启动Chrome.我觉得我真的尝试了一切并且无处可去,这有望意味着我即将成为一名开发人员?请?
在我的任何浏览器中,操作调试器的人是否有办法打破重定向页面位置的界限?我理解允许自动访问该信息有安全隐患,但是没有什么能让开发人员获得特权并允许一种方法来实现它吗?如果没有,处理这种情况的正常方法是什么?这似乎很常见,我认为没有人喜欢在概念上简单的问题上被阻塞数小时或数天.TIA
小智 34
网络选项卡可以帮助您,打开保留日志复选框,启动器列将包含导致重定向的javascript位置.
| 归档时间: |
|
| 查看次数: |
26362 次 |
| 最近记录: |