javascript window.location假回调

javascript window.location假回调,javascript,html,jquery-mobile,Javascript,Html,Jquery Mobile,我需要进行一个伪window.location=“testCall”调用,以便生成一个事件来绕过移动设备上的参数。作为本机工作,但是,我需要取消错过NotFound异常或主要取消错过假window.location调用。可能的多谢各位 Object.getOwnPropertyDescriptor(window, 'location').configurable === false 在Chrome和Safari中(我想在其他浏览器中也是如此)。看来你无法改变当地人的行为 如果它表现为一个普通的

我需要进行一个伪
window.location=“testCall”
调用,以便生成一个事件来绕过移动设备上的参数。作为本机工作,但是,我需要取消错过NotFound异常或主要取消错过假window.location调用。可能的多谢各位

Object.getOwnPropertyDescriptor(window, 'location').configurable === false
在Chrome和Safari中(我想在其他浏览器中也是如此)。看来你无法改变当地人的行为

如果它表现为一个普通的EcmaScript 5属性,并且
可配置
设置为
,那么您可以这样做:

var descriptor = Object.getOwnPropertyDescriptor(window, 'location');
var setter = descriptor.set; // Doesn't exist although it should in spirit of ES5

descriptor.set = function (newLocation) {
    try {
        setter(newLocation);
    } catch (e) {
        console.log('Location error: ', newLocation, e);
    }
};

// The line below will throw exception in real browser :(
// TypeError: Cannot redefine property: location
Object.defineProperty(window, 'location', descriptor);

我希望浏览器供应商将他们所有的魔法属性和对象迁移到标准的EcmaScript机制中,但目前我们运气不佳。

只有当页面返回400错误时,这才会起作用,而在许多情况下,这不会起作用。基本上,我必须模拟window.location事件,而不重定向到。。。