我正在查看具有内联javascript重定向(window.location = "/anotherpage")的页面.我想在Chrome中加载页面,但禁用了重定向行,因此我可以在不重定向的情况下使用该页面.
这是我尝试过的:
开发人员工具 - > Cog - >常规 - >禁用JavaScript.加载页面.它没有重定向(耶!).但我仍然希望页面的其余部分的javascript运行,而它还没有.
输入URL,然后单击开发人员工具 - >源 - >暂停(F8)快速!它还没有重定向(是的!)现在我想在取消暂停之前禁用重定向行,但该部分甚至尚未加载到开发人员工具中.所以我会开始逐步浏览其他文件的javascript代码,直到我到达那里?但是一旦我走出其他文件javascript,它立即重定向(doh!).
可以这样做吗?我认为禁用一行javascript应该很容易,但我很难过.
我有一个页面,当它不应该重定向时,我正在试图找出谁在做它.首先我试着劫持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 () …Run Code Online (Sandbox Code Playgroud)