javascript:window.location.replace 與 window.location.reload() 重新整理頁面的不同效果

來源:互聯網
上載者:User

今天早上我發現一個問題,當一個網頁的地址最後面是一個#時(比如:http://www.baidu.com/go.asp#),

執行:window.location.replace(window.location.href); 瀏覽器不重新整理頁面。

經過測試: window.location.href = window.location.href; 瀏覽器也不重新整理頁面。

經過測試:window.location.reload() ; 瀏覽器會重新整理頁面。

 

以前經過一些測試發現 window.location.replace(window.location.href); 比 window.location.reload() 節省了一些不必要的socket串連操作。

但我今天遇到了這個問題之後,代碼簡單的修改了一下,主要是加了一個對地址的判斷:

function pageRefresh()

{

var url = window.location.href;
 var i = url.lastIndexOf("#");
 if(i > -1 && url.length == i + 1)
 {
  window.location.replace(url.substr(0,i)); //去掉#,這樣瀏覽器才會重新整理頁面
 }
 else
 {
  window.location.replace(url);
 }

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.