lxlxlxlxcool
lxlxlxlxcool
采纳率50%
2017-05-22 01:50

页面跳转后返回原页面回到原页面跳转前的位置怎么实现?

移动端A页面用了iscroll插件滚动显示订单,通过几次ajax加载更多的订单后点击订单详情跳转到订单详情B页面,要求是从B页面返回时(如安卓手机点击安卓手机的返回键)不刷新页面并停留在点击订单详情的那个订单的位置上?用了history,onbeforeunload好像都实现不了,如果A页面没经过ajax加载更多怎么实现,若加载了几次又怎么实现呢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • playboyanta123 show_code 4年前

    你这必须要把当前页面的滚动条位置存下来,存到cookie或者localstorage都可以,然后返回到该页面的时候查这个值让滚动条下滑,如果有分页的话那就
    在ajax数据请求完成里面还要加判断,判断当前的scrollTop是否等于你之前存的值,如果不等于还要继续请求

    点赞 2 评论 复制链接分享
  • qq_29962235 qq_29962235 4年前

    我当初用的方法是:获取当前滚动条高度,作为一个传送参数,在当前页面获取参数,若是为null不做处理,不为null跳到指定高度,瀑布流的话就是判断加载的高度对比数据

    点赞 1 评论 复制链接分享
  • guoxiaodong2339 回眸怡笑 4年前

    /*返回上次浏览位置*/
    $(function () {
    var str = window.location.href;
    str = str.substring(str.lastIndexOf("/") + 1);
    if ($.cookie(str)) {

    $("html,body").animate({ scrollTop: $.cookie(str) }, 1000);
    }
    else {
    }
    })

    $(window).scroll(function () {
    var str = window.location.href;
    str = str.substring(str.lastIndexOf("/") + 1);
    var top = $(document).scrollTop();
    $.cookie(str, top, { path: '/' });
    return $.cookie(str);
    })
    /*返回上次浏览位置*/

    这个是用jquery写的,所以用的时候要引入jquery库,和jquery.cookie.js

    点赞 1 评论 复制链接分享
  • lxlxlxlxcool lxlxlxlxcool 4年前

    谢谢各位的回答,问题最新进展是可以通过记录数据及滚动位置使回到这个页面时自动滚动,但是问题发生的原因是一些浏览器如微信返回页面时会强制刷新页面,有办法让它不刷新吗?

    点赞 评论 复制链接分享