window.location.assign(“http:mywebsite.com”)可能是一个更好的选择,因为我相信调用该函数会触发一些额外的事件,可能会使页面的生命周期易于管理。
此外,除了Chrome之外,您可以使用IFrame尝试启动协议处理程序。这将有助于防止页面转向:空白和/或脚本因导航离开页面而停止。
var createIframe = function(id, url, timeout, callback) {
var iframe;
iframe = document.createElement("iframe");
iframe.hidden = true;
iframe.id = id;
iframe.src = url;
var data = {}
data.id = id;
data.iframe = iframe;
return setTimeout(callback, timeout, null, data);
}
createIframe('tempFrame', 'http://mywebsite.com', 25, function(err, data) {
if(!err && data){
var iframe = data.iframe;
var id = data.id;
iframe = document.getElementById(id);
iframe.parent.removeChild(iframe);
}
else {
console.log('There was an error createing and removeing the iframe');
}
}
你试过'window.location.href'吗?那样有用吗? – Sukima 2014-10-07 01:55:53
是的,试过了。同样的错误发生。 IE:阻止脚本和Firefox提供了一个错误,说:“地址不明白。” Chrome处理它很好。 – mjbares12 2014-10-07 18:04:51
是你尝试去的地址在开始时有“my://”吗? – 2015-04-23 13:43:41