IE和Chrome中针对window.location的不同行为

时间:2019-04-16 07:37:10

标签: javascript html url

我有一个包含3个级别的页面。例如,example.com / 1/2/3。我有以下代码:

window.location.replace("");

当我在IE11中运行它时,它将转到example.com/1/2。但是,如果我在example.com/1/2中,并且运行该代码,它将刷新页面。只要有两个以上的级别,它就会上升一个级别。当我在Chrome中运行该程序时,无论网址如何,它都会刷新页面。 IE11是否有问题?

编辑:对此感到抱歉。我的期望是无论URL是什么(由于URL是动态的),即使它为空,IE11和Chrome也会具有相同的行为。

1 个答案:

答案 0 :(得分:1)

浏览器古怪。特别是某些制造商的产品。您只需查看jQuery之类的库的成功情况即可看到这一点。因此,当您发现浏览器之间的行为有所不同时,进行更深入的研究通常是徒劳的,尤其是当存在明显的修复方法时。这就是...

var dest = //something
document.location.replace(dest === "" ? document.location.href : dest)