zoukankan      html  css  js  c++  java
  • 切换浏览器tab刷新实现

    标签: js


    缘起

    最近在做一个活动需求,需求交互有跨项目,跳转到另一个项目里完成指定任务,再回来领取相应任务奖励,产品十分反感要求用户主动刷新浏览器才更新活动页的任务信息。

    解决方案

    • 方案1:如果项目不考虑ie10以下浏览器,可以通过html5新增的Page Visibility API来实现,示例代码如下:
    document.addEventListener('visibilitychange', function() { 
      var isHidden = document.hidden; 
      if (!isHidden) { 
        // 做数据更新操作,重新发起请求或者直接刷新当前页面
      } 
    });
    
    • 方案2:如果对兼容性有一定要求,则可以考虑换用当前窗口获得焦点js事件,示例代码如下:
    //当前窗口得到焦点 
    window.onfocus = function() { 
      // 做数据更新操作,重新发起请求或者直接刷新当前页面 
    }; 
    
    • 方案3:做数据轮询请求,每隔几秒做一次数据更新。

    • 方案4:可以和产品商量是否可以在想做切换刷新的区域放上一个刷新按钮,点击更新当前区域数据。

    最终选择

    产品要求兼容IE8+,方式1放弃了,我又不想做轮询刷新,增加服务器的压力,方式3也放弃了,跟产品协商增加一个局部刷新按钮,产品嫌弃丑,于是最终选择方案2

  • 相关阅读:
    butter
    医院设置
    NOIP 2000 进制转换
    图的M 着色问题
    闭合区域面积统计
    字符序列
    装载问题
    n皇后问题
    跳马问题
    数独
  • 原文地址:https://www.cnblogs.com/xwwin/p/13390675.html
Copyright © 2011-2022 走看看