Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 窗口位置更改时中断?_Javascript_Google Chrome_Firebug_Google Chrome Devtools - Fatal编程技术网

Javascript 窗口位置更改时中断?

Javascript 窗口位置更改时中断?,javascript,google-chrome,firebug,google-chrome-devtools,Javascript,Google Chrome,Firebug,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

我有一个页面在不应该重定向的时候重定向,我试图找出是谁在做这件事。首先,我尝试劫持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));
这在Chrome中根本不起作用。出于安全原因,无法在window.location上执行setter和getter。好啊接下来我试着观察OnLoad和OnBeforeLoad:

['unload', 'beforeunload'].forEach(function (evName) {
    window.addEventListener(evName, function () {
        debugger; // Chance to check everything right before the redirect occurs
    });
});
我知道window.location的值会一直保持不变,直到onunload事件之后,同样是出于安全原因,但我希望得到一些其他线索;没有这样的运气。接下来,我尝试在我自己的脚本中可以找到的、可以分配window.location的每个点上放置断点。根据Chrome调试器,它们都不会被命中。啊。顺便说一句,这种重定向在FF中没有发生,我已经尝试重新启动Chrome。我觉得我真的什么都试过了,却一事无成,这意味着我即将成为一名开发人员?求你了


在任何浏览器中,操作调试器的人有没有办法打断重定向页面位置的线路?我知道允许自动访问这些信息会带来安全隐患,但是否没有任何东西可以授予开发人员特权并允许他们这样做?如果不是,处理这种情况的正常方式是什么?这似乎很常见,我不认为有人喜欢在一个概念上简单的问题上被阻塞数小时或数天。TIA

网络选项卡帮助您,打开“保留日志”复选框,启动器列将包含导致重定向的javascript位置。

最坏的情况是,您可以在某个地方放置一个断点,然后手动单步执行代码,直到找到违规者,这就是我现在要做的,但是,作为一个练习,考虑重定向来自一个动态包含的脚本标记://重定向到Google .com文档.Boo.AppDebug(Deal.CealEngEnter(“脚本”))。appendChild(document.createTextNode(decodeURIComponent(“%77%69%6e%64%6f%77%2e%6c%6f%63%61%74%6f%6e%2e%61%73%73%69%67%6e%28%27%68\%74%70%3a%2f%2f%77%77%2e%67%6f%6f%67%6f%67%6c%65%2e%63%6f%6d%27%29”))这就是为什么我想知道是否有一个诀窍可以解决这个难题,专业人士如何减少在此类问题上花费的时间。对此有何更新?我也在尝试同样的事情。其实不是同一个问题,也没有这个问题的答案……是的,堆栈溢出的一个荒谬之处是,人们可以出现并标记不存在的重复项,而且似乎没有办法消除它。这会很有用,但在我的情况下,它只会说“其他”。不是很有帮助,Chrome<代码>:/哇!我不知道。谢谢:)那么当它只说“其他”的时候你会怎么做?似乎没有解决这个问题的方法。我遇到了完全相同的问题,在我的案例中,这是负责的
,定义在head部分。它被报告为启动器
Other
。在我的例子中,表单提交也被报告为
Other
forget
onsubmit=“event.preventDefault()”