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相关推荐

  1. js快速判断IE浏览器(兼容IE10与IE11)

    原文:js快速判断IE浏览器(兼容IE10与IE11) 在很多时候,我们一般采用navigator.userAgent和正则表达来判断IE浏览器版本,下面介绍用IE浏览器中不同特性来判断IE浏览器 1 ...

  2. JavaScript武力值飙升!用TensorFlow.js轻松实现在浏览器里搞深度学习......

    近年来,AI 与人类的生活越来越紧密,慢慢变得无处不在.那么提到 AI ,我们会想到什么?小编最先想到的是机器人.早在小学作文中,我就写到 2021 年到处都是机器人,机器人汽车到处飞.结果 2021 ...

  3. 给js加版本号解决浏览器缓存问题

    给js加版本号解决浏览器缓存问题 参考文章: (1)给js加版本号解决浏览器缓存问题 (2)https://www.cnblogs.com/wblx/p/11050498.html 备忘一下.

  4. js数字累加 · 递增动画 - 封装篇

    js数字累加 · 递增动画 - 代码可封装 代码如下: <!DOCTYPE html> <html> <head> <meta charset="U ...

  5. js获取滚动条距离浏览器顶部,底部的高度,兼容ie和firefox

    做web开发经常会碰到需要获取浏览器的滚动条与顶部和底部的距离,然后做相应的处理动作.下面作者就如何通过js来获取浏览器滚动条距离浏览器顶部和底部的高度做一下分享,这个是同时兼容ie和firefox的 ...

  6. 项目中js文件修改后浏览器不能及时更新的解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 现在就分别把IE,firefox,chrome中解决办法贴出来供大家参考: 1.firefox(火狐浏览器)解决问题 第一步, ...

  7. 第三方浏览器h5 android测试,H5案例分享:使用JS判断客户端、浏览器、操作系统类型...

    使用JS判断客户端.浏览器.操作系统类型 一.JS判断客户端类型 JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Androi ...

  8. js如何判断IE浏览器的版本包括IE11

    js如何判断IE浏览器的版本包括IE11: 获取IE浏览器的版本在以前非常的好操作,但是由于IE11浏览器的出现,导致很多以前常用的方法已经无能为力,下面就介绍一下如何判断IE浏览器的版本,并且能够兼 ...

  9. 用js来判断用户端浏览器(判断QQ浏览器、谷歌浏览器)方法

    用js来判断用户端浏览器(判断QQ浏览器.谷歌浏览器)方法 function getBrowserInfo(){ var ua = navigator.userAgent.toLocaleLowerC ...

最新文章

  1. 全球13个DNS根+主要省份城市的DNS服务器地址
  2. asp.net MVC3 无法打开项目文件“E:\我们的项目\Project\HeatingMIS.Web\HeatingMIS.Web.csproj”。此安装不支持该项目类型。...
  3. php输出pre自动换行,解决 html pre 标签的内容自动换行的问题
  4. 2.1 基础-数字翻转
  5. 阿姨帮悬赏通缉,紧急扩散!
  6. DataGridView DataSource 如何实现排序
  7. WiresShark之抓http包如何倒出图片格式的对象
  8. 工作328:uni-局部过滤器处理数据
  9. 个性签名设计软件_佩服!我用Python设计了一个签名软件
  10. 关于TP中的M()方法与D()方法
  11. Apple的Mac OS X帮助BSD开发赶超Linux
  12. Python颜色空间转换(sRGB,AdobeRGB,CIE XYZ,Lab,HSV互转)
  13. 标准误计算机excel公式,关于excel计算标准差SD和标准误SE的方法
  14. 设备管理器---usb大容量储存设备感叹号,USB大容量存储设备无法启动
  15. LOJ3049 [十二省联考2019] 字符串问题 【后缀自动机】【倍增】【拓扑排序】
  16. PHP开发微信商家转账到零钱接口
  17. python statsmodels安装(亲测可用)
  18. vue按照字母表排序
  19. strtol函數的用法
  20. 攻防世界--进阶区--forgot

热门文章

  1. 请你讲一下路由器和交换机的区别
  2. Freemarker基于模板文件静态化代码示例
  3. Spring的jar包下载及目录详解
  4. 沈抚新区机器人产业园怎么_“智慧物流智能AGV技术交流峰会”在长春中日智能制造产业园成功举办...
  5. JS重点语法及常用对象总结
  6. 正则表达式变量名命名的规则_如何简单有效地提高代码质量?修改变量名即可...
  7. 三维数据平滑处理_你该如何正确的处理思看科技三维扫描仪得到的数据?
  8. linux id高 负载高,linux下的rsync连接数突然增高,负载增高导致服务登录失败
  9. python queue 调试_python:如何创建用于调试的持久内存结构
  10. 浏览器设置了打开会显示特定网页为什么还是显示2345_Edge没能取代Chrome成为我的主力浏览器...