我需要使用JavaScript重定向用戶。哪個是首選的方法?window.open target _self v window.location.href?
window.open("webpage.htm", "_self");
或
window.location.href = "webpage.htm";
我需要使用JavaScript重定向用戶。哪個是首選的方法?window.open target _self v window.location.href?
window.open("webpage.htm", "_self");
或
window.location.href = "webpage.htm";
絕對是首選第二種方法,因爲你沒有另一個函數調用的開銷:
window.location.href = "webpage.htm";
window.location.href = "webpage.htm";
正如其他人所說,第二種方法通常是首選。
但是這兩個代碼片段並不完全相同:第一個實際上將window.opener
設置爲窗口對象本身,而第二個代碼片段將保持原樣,至少在Firefox下。
可以省略window
,只是使用location.href
。例如:
location.href = 'http://google.im/';
希望別人通過閱讀這篇保存。
我們遇到了基於WebKit瀏覽器做的一個問題:
window.open("webpage.htm", "_self");
瀏覽器會升起,死,如果我們有太多的DOM節點。當我們將我們的代碼轉換爲以下公認的答案時:
location.href = "webpage.html";
一切都很好。我們花了一段時間才弄清楚是什麼導致了這個問題,因爲我們的頁面定期無法加載的原因並不明顯。
請使用
window.open("url","_self");
- 第一個參數 「URL」 是頁的要打開完整路徑。
- 第二個參數「_self」,它用於在同一標籤中打開頁面。你想在另一個標籤中打開頁面,請使用「_blank」。
是不是第一個打開一個新窗口?其實我不確定。 – 2011-01-27 07:51:22
@Gunner,Nope,它會在同一個窗口中打開它,因此`_self`在那裏... – 2011-01-27 07:51:59
如果用_blank替換_self,它會在新窗口中打開 – DOK 2013-02-15 14:42:33