有没有什么办法可以更改URl而不刷新页面

有没有什么办法可以更改URl而不刷新页面,在分享的过程中带到下一次打开的链接的浏览器上(或者URl上或者任意一个window属性上)

阅读 2.5k
2 个回答

window.history.pushState()
看看这个

下面是我在项目中封装的 pjax(随着听吧, 哈哈)

pjax 文件

module.exports = function(option){
    if( window.history.pushState ){
        //option.event.preventDefault() //阻止A标签跳转
        //请求JSON,拼数据
        $.getJSON(option.getUrl, function(data){
            window.history.pushState({},0, option.winUrl);
            option.pinHtml(data);
            
        });
    };
}

调用方法:

$.PJAX({
     getUrl : "",  //请求JSON数据的URL
     winUrl : $('#url').attr("href"),  //更变地址栏URL
     event  : event,
     pinHtml: function (data) {
         var html = '<li><i>¥'+data.detail.albums[0].itemId+'</i></li>';
         $(".box").html(html);
     }
 });
 

项目在google 上是正常访问的, 但是在底版本火狐上会经常报错,升级了就没什么问题了。 但是 最近又要 删掉这个项目中的 这个pjax 。 原因是 项目中 条件筛选 和 数据排序 都是用的这种方式,所以流量损失很大,现在统一改回a链接跳转

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题