JavaScript window.location.replace适用于Firefox,但不适用于IE或Chrome
以下脚本在FireFox中运行良好,但在IE或Chrome中完全没有成功....我一直在为这个愚蠢的目标而奋斗几个小时....任何帮助表示赞赏。JavaScript window.location.replace适用于Firefox,但不适用于IE或Chrome
<script type="text/javascript">
window.onunload = function exitConfirm()
{
var answer = confirm("Wait don't GO! I love you!");
if (answer)
{
if(!self.closed)
{
window.open("http://myKoolUrl");
}else{
window.location.replace("http://myKoolUrl");
}
}
}
</script>
确认两个页面休假和broswer /网页/标签的接近,但不管选择选择在IE/Chrome浏览器重定向没有正在发生的正常工作。帮助我理解。
更新使用onbeforeunload一个更简单的例子:
<body onbeforeunload=go();>
function go()
{
if(confirm("Go to Google"))
{
window.location.href = "http://www.google.com";
}
}
</body>
这也是在IE/Chrome浏览器/ Safari浏览器不工作,我已经使用了几个不同的机器,以尽量消除设置某种错误。这只是一些疯狂的情况,我错过了明显的东西......?为什么重定向不在这些浏览器中做任何事情......是只有我吗?我已经尝试了所有的可爱JS重定向:
location
location.href
location.reload
location.open
etc
即使jQuery的
$(location).attr('href','http://www.google.com');
再次在消防福克斯在我的机器上所有这些做工精细
你能做到这样也
window.location.href = 'http://myKoolUrl';
这是一种膨胀的方式,但没有什么解决我的问题,同样的行为展示,在FF中工作,但不是在IE/Chrome – Zjoia 2011-04-29 06:35:34
我已经尝试过这在铬和IE浏览器在我的末端它为我工作,因为尝试在代码中使用此一次''窗口.location.href ='http://www.google.com';' – 2011-04-29 06:39:22
我可以在2台不同的机器上重现这一点,也许有一个秘密阴谋反对我的重定向实际工作。我已经实施了您的解决方案,就像您在这里一样 http://s56.net/test.html – Zjoia 2011-04-29 07:57:54
也许Chrome会预取URL并知道它的虚假内容,因此不会重定向。尝试使用有效的URL已经为我工作。
我不得不提到,这种行为在“良好”的网页设计中是非常不满的。再次猜测用户的活动通常是一个糟糕的主意。 – Ben 2011-04-29 04:19:18
@Steve这是网页设计的可怕之处,并且通常令人恼火,但它每年赚取数十亿美元,如果这些销售停止赚钱,那么我们就不再让人们设计:-) – Zjoia 2011-04-29 06:34:29