有新的订单,刷新并有提示音
来源:互联网 发布:linux 文件上传工具 编辑:程序博客网 时间:2024/04/29 07:20
pc端,有新的订单后,有提示音并刷新当前订单列表,主要用js 的setInterval 实现有间隔的循环刷新,再结合 cookie 和 session 达到效果
js
//创建cookiefunction setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); } //获取cookiefunction getCookie(name) { var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr=document.cookie.match(reg)) return unescape(arr[2]); else return null; } //删除cookiefunction delCookie(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); } $(document).ready(function(){ dp_timer = setInterval('checkOrder()',60*1000);});function checkOrder(){ var lastCheckOrder = getCookie('ECS_LastCheckOrder'); var today = new Date(); if (lastCheckOrder == null || today-lastCheckOrder >= NEW_ORDER_INTERVAL) { setCookie('ECS_LastCheckOrder', Date.parse(new Date())/1000); try { $.ajax({ url: '请求order.php里auto_call 方法', dataType: "json", success: function(data){ if(data.status == 1){ $('#embed').html("<embed src='order_ts.mp3' hidden='true'></embed>"); $('.cztable').html(data.html); }else{ $('#embed').html(''); } } }); } catch (e) { } }}
order.php
class order{ function order_list(){ $list = '订单列表数组'; //传递到模板 $GLOBALS['tmpl']->assign('list',$list); //获得订单列表的模板html内容 $html = $GLOBALS['tmpl']->fetch('order_list.html'); return $html; } //有新的订单自动提示 function auto_call(){ $last_check = $_SESSION['last_check']; if(!$last_check){ $_SESSION['last_check'] = time(); $last_check = es_session::get('last_check'); } $sql = ' select count(*) from order where pay_time >= '.$last_check; $new_orders = $GLOBALS['db']->getOne($sql); $_SESSION['last_check'] = time(); $html = $this->order_list(); if($new_orders){ $result['ts'] = '<embed src="images/order_ts.mp3" hidden="true"></embed>'; $result['html'] = $html; $result['status'] = 1; } else{ $result['status'] = 0; } //把result数组以json字符串的形式返回给js ajax_return($result); } }
源地址:分析ecshop新订单提示原理
0 0
- 有新的订单,刷新并有提示音
- 有新的信息有托盘提示
- 有新的通知的时候提示
- 撤销审批有收货的采购订单,并修改采购订单
- 实现PHPCMS中检查Ucenter中是否有新短消息并进行提示
- 有刷新的三级联动
- 新的一年有新的开始
- 如何实现Video Record的时候来新的MMS 仍然可以有提示
- 软件更新提示(检查app store 软件是否有新的版本)---需要app id
- XRecyclerView的刷新方法(自用,有瑕疵)
- [Linux]如何拷贝已有数据磁盘,并将新的磁盘挂接到其他虚机上
- 对 CSS3 有了解吗?列举几个CSS3 的新特性并简要描述
- Python列表中有重复项出现,并按需求生成新的列表
- AJAX自动提示,并添加有键盘上下选择功能
- 有订单表SO_Table,单号字段RefNo VARCHAR(10),需要实现自动编号,格式为YYYYMMXXXX,其中XXXX为序号,如:2004050001,2004050002……2004059999等,采用Transact-SQL实现新订单编号的思
- ocx 有安全提示的问题
- 原本正确的js提示有错误
- 编写有提示的listbox控件
- jQuery实现 全选/全不选
- 关于Fragment中viewpager的子fragment不能加载布局的问题
- 细聊冗余表数据一致性
- Hadoop集群应用于大数据分析优势和挑战
- asp.net备忘
- 有新的订单,刷新并有提示音
- Jsp简单入门与Jsp实用教程总结
- linux基本命令(57)——ss命令
- UVA253——骰子涂色(Cube painting)
- java内存管理和垃圾回收
- (java:11276): GLib-GObject-WARNING **: cannot register existing type `GdkDisplayManager'
- 如何安装最新版的Google play服务
- codevs 2287 火车站
- Android Studio 下的 GitHub 配置