如何在使用history.pushState功能时启用后退和前进按钮?

时间:2017-12-06 17:10:02

标签: javascript ajax

我使用以下代码更新WebSite中的seccion。我决定实施window.history.pushState功能。显然它工作正常但如果我按后退按钮,地址栏将使用正确的值更新,但是navegator不会更新页面的内容。

使用pushState

时,如何正确启用网络浏览器的正向功能?
  ajaxPost("/URLSite", idData, function (data) { //Success
         div.innerHTML = data.Html;
             if (data.Url.length > 0 && window.history.pushState)
                 window.history.pushState({ "html": data.Html, "pageTitle": ' my site: ' + data.Url }, '', '/' + data.Url);

         }, function (cod, Error) { //Error
            var lblMsj = document.getElementById("lblMsj");
             lblMsj.innerHTML =" <br/> " +  Error + " <br/>";
         },null);

1 个答案:

答案 0 :(得分:1)

@SLaks是对的。我查看了一些关于onpopState的文档,以下代码解决了这个问题。

window.onpopstate = function (event) {
     if (event.state)
     {
        var divMain = document.getElementById("divMain");
        divMain.innerHTML = event.state.html;
        document.title = event.state.pageTitle;
     }
}