• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 如何利用微信内嵌H5网页解决JS倒计时失效的问题

如何利用微信内嵌H5网页解决JS倒计时失效的问题

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含微信,h5,js倒计时失效等相关知识,匿名希望在学习及工作中可以帮助到您
最近参考项目开发,遇到这样一个需求将H5商城页面嵌套到公司微信公众号里,在开发遇到一个棘手的问题,js倒计时失效问题,怎么回事呢?下面说下我使用微信内嵌h5解决的这一问题,需要的朋友参考下吧

项目要求:将H5商城页面嵌套到公司微信公众号里

项目本身的开发跟移动端网页并无太多差异,只是这昨天遇到一个问题,说是棘手,到也简单。

用户下单后,在选择支付方式页面,有个倒计时的逻辑(从下单时开始计算,24小时后未支付,会有ws自动取消这个订单),js代码如下: 

<script type="text/javascript"><br> var timespan = '20160113'; //后台程序生成24小时时间差值,这里随便写写
  var timer;
  function UpdateTime() {
   if (timespan > 0) {
    var hour = Math.floor(timespan / (60 * 60));
    var minute = Math.floor((timespan - (hour * 60 * 60)) / 60);
    var second = (timespan - (hour * 60 * 60) - (minute * 60));
    var word = "支付剩余时间" + (hour<10?("0"+hour):hour) + ":" + (minute<10?("0"+minute):minute) + ":" + (second<10?("0"+second):second) + ",逾期订单将自动取消~";
    timespan--;
    jQuery(".tc").html("<i class='time'></i>" + word);
    timer = setTimeout("UpdateTime()", 1000);
   }
   else {
    $('.content').find('.w_op').hide();
    clearTimeout(timer);
    jQuery(".tc").html("<i class='time'></i>" + "订单过期,已自动取消~");
    window.location.href='@Url.Action("orderDetail", "Order", new { OrderNumber = Model.No })';; //订单过期,跳转到订单详情页
   }
  }
  jQuery(document).ready(function () {
   UpdateTime();
  });<br></script>

  页面效果如下:

  这样写,本来没有任何问题的,而且本地测试都ok。

  可是,放到外侧的时候,问题就来了。安卓版微信,会出现当手机锁屏时,出现倒计时没有走,仍然是关闭屏幕前时间,也就是说息屏这段时间,时间静止了...

  后来,后来当然不能着急啊,各方求救,寻找方法,于是有了下面:

  倒计时的实现,在第一次进入页面时,请求服务器获取倒计时的剩余时间,然后在页面通过js等手段再倒计时;手机在锁屏后再解锁后倒计时还在进行但是倒计时的时间不准确,究其原因是在解锁后没有去请求服务器的时间来重新倒计时而是还是按照上次锁屏的基础上进行倒计时的,这是因为浏览器有缓存,在不刷新页面的情况下,浏览器会缓存第一次请求的内容,服务端更新后浏览器仍然显示第一次的内容

  后来多方查证,可以在meta里进行设置,设置页面nocache,每次访问次页面,均需要从服务器重新获取,而不是使用缓存中读取

  expires设定过期时间,一旦过期就必须请求服务器,

  expries出现在http-equiv属性中,使用content属性表示页面缓存的过期时间

  expries=0,缓存过期前的分钟数。若用户在页面过期前返回该页面,就会显示缓存的版本页   

<meta http-equiv="pragma" content="no-cache"> 
<meta http-equiv="cache-control" content="no-cache"> 
<meta http-equiv="expires" content="0">

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注微课江湖!

相关推荐:

如何使用HTML5 File接口在web页面上使用文件下载

HTML5中postMessage API的基本使用

新增HTML5的八类INPUT输入

以上就是如何利用微信内嵌H5网页解决JS倒计时失效的问题的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

  • HTML5微信播放全屏问题的解决方法
  • HTML5新特性之用SVG绘制微信logo
  • 基于html5 DeviceOrientation 实现微信摇一摇功能
  • 微信浏览器取消缓存的方法
  • html5实现微信打飞机游戏
  • HTML5仿手机微信聊天界面
  • 如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
  • H5微信支付之引入微信的js-sdk包失败的解决方法
  • 关于html5 canvas 微信海报的分享介绍
  • 如何解决微信通过H5页面直接打开本地app

相关文章

  • 2018-12-03html5模拟平抛运动(模拟小球平抛运动过程)_html5教程技巧
  • 2018-12-03详解H5非常重要的28个新特性,新技巧和新技术
  • 2018-12-03在HTML5爆发的年代Andorid开发APP的需求量是不是会慢慢下沉,开发者需求慢慢饱和?
  • 2018-12-03关于HTML5的安全问题开发人员需要牢记的_html5教程技巧
  • 2018-12-03html5如何及时更新缓存文件(js、css或图片)_html5教程技巧
  • 2018-12-03基于HTML5 Canvas和Rebound动画的Loading加载动画特效
  • 2018-12-03 小强的HTML5移动开发之路(7)——坦克大战游戏1
  • 2017-08-31HTML5获取地理位置信息
  • 2018-12-03用HTML5制作烟火效果的教程_html5教程技巧
  • 2018-12-03详细介绍如何全面掌控Session?且看WebSocket跨站劫持的图文代码详解

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5实现移动页面自适应手机屏幕的方法
    • 把 HTML5 简称为 H5 的人,会把 CSS3 说成 C3 吗?
    • HTML5 Canvas 绘图实例教程
    • 关于8 个超炫酷的纯 CSS3 动画及源码分享
    • 如何看待html5在移动端的未来?
    • html5 canvas和JavaScript如何实现本地截图
    • html5离线存储和cookie储存分析
    • html5通过postMessage进行跨域通信的方法_html5教程技巧
    • HTML5实践-详细介绍css3中的几个属性text-shadow、box-shadow和border-radius
    • 利用css的 border-image 实现锯齿形

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有