js的comet各个浏览器封装lib
SimpleComet是一个轻量级的comet的封装类, 能智能的识别浏览器,应用不同的comet技术,在firefox浏览器上使用ajax,在IE、opera浏览器上使用htmlfile,iframe.
<script type="text/javascript">// This function will be called every time the server pushes a new event. function push(event) { // For this example, we simply show the excuse on the page. document.getElementById('excuse').innerHTML = event; } // This function will be called when/if the stream closes. function disconnected() { // For this example we'll just show a nice message. document.getElementById('excuse').innerHTML = '<img src="img/arrow.png" alt="" title="" />'+ ' Click to see MORE reasons why this souldn\'t work!'; document.getElementById('control').value = 'start'; } // This function is executed when the button is clicked. function toggle() { // First we check if the stream is open. if (!comet.active) { // Lets start streaming! comet.open('excuses.php', push, disconnected); document.getElementById('control').value = 'stop'; } else { // Streaming is active, means the user wants to stop it. comet.close(); } } </script>
<!--?php // First we load the SimpleComet PHP class and the list of excuses. require('inc/simplecomet.class.php'); $comet = new SimpleComet(); $excuses = file('inc/excuses.txt'); // This is an infinite loop, which makes the stream endless. while (true) { // We fetch an excuse at random. $excuse = trim($excuses[rand(0, count($excuses))]); // If the excuse is too long, we get another one. if (strlen($excuse) --> 60) { continue; } // Finally, we push our excuse to the client. $comet->push($excuse); // 5 seconds delay before the next excuse. sleep(5); } ?>
simplecomet能监听出链接是否已经断了,是不是很智能,只要负责服务端的输出就行.
下载: http://www.mandor.net/files/simplecomet-1.0.zip
转载于:https://www.cnblogs.com/torome/archive/2011/03/10/1979944.html
js的comet各个浏览器封装lib相关推荐
- js快速判断IE浏览器(兼容IE10与IE11)
原文:js快速判断IE浏览器(兼容IE10与IE11) 在很多时候,我们一般采用navigator.userAgent和正则表达来判断IE浏览器版本,下面介绍用IE浏览器中不同特性来判断IE浏览器 1 ...
- JavaScript武力值飙升!用TensorFlow.js轻松实现在浏览器里搞深度学习......
近年来,AI 与人类的生活越来越紧密,慢慢变得无处不在.那么提到 AI ,我们会想到什么?小编最先想到的是机器人.早在小学作文中,我就写到 2021 年到处都是机器人,机器人汽车到处飞.结果 2021 ...
- 给js加版本号解决浏览器缓存问题
给js加版本号解决浏览器缓存问题 参考文章: (1)给js加版本号解决浏览器缓存问题 (2)https://www.cnblogs.com/wblx/p/11050498.html 备忘一下.
- js数字累加 · 递增动画 - 封装篇
js数字累加 · 递增动画 - 代码可封装 代码如下: <!DOCTYPE html> <html> <head> <meta charset="U ...
- js获取滚动条距离浏览器顶部,底部的高度,兼容ie和firefox
做web开发经常会碰到需要获取浏览器的滚动条与顶部和底部的距离,然后做相应的处理动作.下面作者就如何通过js来获取浏览器滚动条距离浏览器顶部和底部的高度做一下分享,这个是同时兼容ie和firefox的 ...
- 项目中js文件修改后浏览器不能及时更新的解决办法
2019独角兽企业重金招聘Python工程师标准>>> 现在就分别把IE,firefox,chrome中解决办法贴出来供大家参考: 1.firefox(火狐浏览器)解决问题 第一步, ...
- 第三方浏览器h5 android测试,H5案例分享:使用JS判断客户端、浏览器、操作系统类型...
使用JS判断客户端.浏览器.操作系统类型 一.JS判断客户端类型 JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Androi ...
- js如何判断IE浏览器的版本包括IE11
js如何判断IE浏览器的版本包括IE11: 获取IE浏览器的版本在以前非常的好操作,但是由于IE11浏览器的出现,导致很多以前常用的方法已经无能为力,下面就介绍一下如何判断IE浏览器的版本,并且能够兼 ...
- 用js来判断用户端浏览器(判断QQ浏览器、谷歌浏览器)方法
用js来判断用户端浏览器(判断QQ浏览器.谷歌浏览器)方法 function getBrowserInfo(){ var ua = navigator.userAgent.toLocaleLowerC ...
最新文章
- 全球13个DNS根+主要省份城市的DNS服务器地址
- asp.net MVC3 无法打开项目文件“E:\我们的项目\Project\HeatingMIS.Web\HeatingMIS.Web.csproj”。此安装不支持该项目类型。...
- php输出pre自动换行,解决 html pre 标签的内容自动换行的问题
- 2.1 基础-数字翻转
- 阿姨帮悬赏通缉,紧急扩散!
- DataGridView DataSource 如何实现排序
- WiresShark之抓http包如何倒出图片格式的对象
- 工作328:uni-局部过滤器处理数据
- 个性签名设计软件_佩服!我用Python设计了一个签名软件
- 关于TP中的M()方法与D()方法
- Apple的Mac OS X帮助BSD开发赶超Linux
- Python颜色空间转换(sRGB,AdobeRGB,CIE XYZ,Lab,HSV互转)
- 标准误计算机excel公式,关于excel计算标准差SD和标准误SE的方法
- 设备管理器---usb大容量储存设备感叹号,USB大容量存储设备无法启动
- LOJ3049 [十二省联考2019] 字符串问题 【后缀自动机】【倍增】【拓扑排序】
- PHP开发微信商家转账到零钱接口
- python statsmodels安装(亲测可用)
- vue按照字母表排序
- strtol函數的用法
- 攻防世界--进阶区--forgot
热门文章
- 请你讲一下路由器和交换机的区别
- Freemarker基于模板文件静态化代码示例
- Spring的jar包下载及目录详解
- 沈抚新区机器人产业园怎么_“智慧物流智能AGV技术交流峰会”在长春中日智能制造产业园成功举办...
- JS重点语法及常用对象总结
- 正则表达式变量名命名的规则_如何简单有效地提高代码质量?修改变量名即可...
- 三维数据平滑处理_你该如何正确的处理思看科技三维扫描仪得到的数据?
- linux id高 负载高,linux下的rsync连接数突然增高,负载增高导致服务登录失败
- python queue 调试_python:如何创建用于调试的持久内存结构
- 浏览器设置了打开会显示特定网页为什么还是显示2345_Edge没能取代Chrome成为我的主力浏览器...