>백엔드 개발 >PHP 튜토리얼 >php 如何做弹框提醒

php 如何做弹框提醒

WBOY
WBOY원래의
2016-06-13 10:27:521072검색

php 怎么做弹框提醒
需要定时给消息接收者一个弹框提醒,类似QQ邮箱接收到新邮件的那种弹框提醒

------解决方案--------------------
很好用:http://download.csdn.net/detail/dmtnewtons/4219436
------解决方案--------------------
js中不是setInterval()函数吗?
------解决方案--------------------
不可以
sleep 暂停了当前程序的执行,并没有关闭当前的 http 会话
这样的话,每个用户上来都要占用一个 socket 连接。系统的资源很快就会耗尽了

值得注意的是,有很多人试图用 ajax 去模拟长连接。这是自欺欺人的作法
没有任何资料显示,作为 ajax 核心部件的 XMLHttpRequest 具有连接重用的能力
既然如此,你在服务器端不就是白等了吗


------解决方案--------------------
Ajax:

PHP code
#将你的提示信息放都后端,用Ajax调用:var xmlHttp;var timer = null;var timerRunning = false;var url;    function createXMLHttpRequest() {        if(window.XMLHttpRequest) {            xmlHttp = new XMLHttpRequest();        } else if (window.ActiveXObject) {            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");        }    }    function statusStop (){        if(timerRunning){              clearTimeout(timer);        }        timerRunning = true;    }    /* ------------------- 间隔查询 ------------------- */    function autoDeep(){        createXMLHttpRequest();        url = "map.php?refresh="+Math.random();        method = "GET";        xmlHttp.open(method,url,true);        xmlHttp.onreadystatechange = null;        xmlHttp.send(null);        timerRunning = false;        timer = setTimeout('autoDeep()',5000);    //设定时间,此时为5秒    }    function statusBegin(){        statusStop();        autoDeep();    }    statusBegin();<br><font color="#e78608">------解决方案--------------------</font><br>
探讨
怎么控制只有这个负责人会弹框提醒,其他人不会弹出这个框呢?

------解决方案--------------------
后台处理的时候就能识别该用户,就一个用户的话可以直接给他加个判断,把几个js函数直接给他推到前台,特别是用模板时更容易实现,应该没啥问题
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.