回答

收藏

如何在不重新加载页面的情况下修改 URL?

技术问答 技术问答 217 人阅读 | 0 人回复 | 2023-09-12

有没有办法在不重新加载页面的情况下修改当前页面的 URL?* {( a5 \- `1 s+ u3 q$ e
如果可能的话,我想去# hash前一部分。
8 z! P/ H" J' b+ h0 A; i我只需要更改域之后因此,我不违反跨域战略。4 H1 v) }+ u) n: v# i" N
    window.location.href = "www.mysite.com/page2.php";  // Sadly this reloads
    + R3 G/ d4 g) I2 k
               
8 G2 L5 [- A  c2 I7 s0 }    解决方案:                                                               
. Y3 C5 r4 s" r                                                                现在可以在 Chrome、Safari、Firefox 4  和 Internet Explorer 10pp4  中完成!, t9 T: h" S& y: _4 m% j8 L) z
例子:
; F( Z6 G: g7 c/ _
    function processAjaxData(response,urlPath){     document.getElementById("content").innerHTML = response.html;     document.title = response.pageTitle;     window.history.pushState({"html":response.html,"pageTitle":response.pageTitle},"",urlPath); }
    " o" e! s! `- t+ O0 s$ ?  X
然后,你可以用它window.onpopstate检测后退/前进按钮导航:
: a4 e+ F- G* k' Z2 z# J8 H1 f; \0 U[code]window.onpopstate = function(e){    if(e.state){          document.getElementById("content").innerHTML = e.state.html;        document.title = e.state.pageTitle;   }code]
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则