为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

墨色风雨 2019-03-16 10:15:28
有没有什么办法可以更改URl而不刷新页面,在分享的过程中带到下一次打开的链接的浏览器上(或者URl上或者任意一个window属性上)
查看完整描述

2 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

window.history.pushState()
看看这个

查看完整回答
反对 回复 2019-03-27
?
萧十郎

TA贡献1815条经验 获得超13个赞

下面是我在项目中封装的 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链接跳转


查看完整回答
反对 回复 2019-03-27
  • 2 回答
  • 0 关注
  • 983 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信