我需要使用JavaScript重定向用户。哪种方法首选?
window.open("webpage.htm", "_self");
或
window.location.href = "webpage.htm";
答案 0 :(得分:65)
肯定第二种方法是首选的,因为你没有其他函数调用的开销:
window.location.href = "webpage.htm";
答案 1 :(得分:24)
希望通过阅读本文保存其他人。
我们遇到了基于webkit的浏览器的问题:
window.open("webpage.htm", "_self");
如果我们有太多的DOM节点,浏览器会锁定并死掉。当我们将代码切换到以下接受的答案时:
location.href = "webpage.html";
一切都很好。我们花了一段时间才弄清楚导致问题的原因,因为我们的页面定期无法加载的原因并不明显。
答案 2 :(得分:20)
正如其他人所说,第二种方法通常是首选。
然而,两个代码片段并不完全相同:第一个实际上将window.opener
设置为窗口对象本身,而第二个将保留原样,至少在Firefox下。
答案 3 :(得分:3)
window.location.href = "webpage.htm";
答案 4 :(得分:3)
您可以省略window
,只使用location.href
。例如:
location.href = 'http://google.im/';