angular项目更新,怎么让当前页面自动刷新或者通知用户?

假设有个用户一直停留在A页面,这时候更新发布了项目。但是,等到客户端自己默认更新缓存,得要几分钟那样。
那么,用户这时的操作会变成这样:页面A(旧)——>页面B——>点击返回——>页面A(旧),因为缓存的原因。

怎么避免这种情况?或者解决这种问题?

阅读 3.9k
1 个回答

没人回答,我就自己回答了。
我自己设置了一个定时刷新的办法。
如果长时间没有进行任何操作就刷新一下。

window.onload = function(){
    reloadPage();  // 检测客户未操作
  };

  function reloadPage() {
    var maxTime = 600; // seconds 10分钟
    var time = maxTime;

    $('body').on('keydown mousemove mousedown tap click touchstart touchmove touchend touchcancel swipe swipeLeft swipeRight swipeUp swipeDown longTap singleTap doubleTap', function (e){
      time = maxTime; // reset
    });
    var intervalId = setInterval(function() {
      time--;
      // console.log(time);
      if (time <= 0) {
        ShowInvalidLoginMessage();
        clearInterval(intervalId);
      }
    }, 1000);
  }
  function ShowInvalidLoginMessage() {
    weui.alert("您已经长时间没操作了,将重新刷新一下页面", function(){
      location.reload();
    });
  }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题