我正在通过以下方式使用 PHP 模拟推送通知:
- jQuery ajax 调用调用服务器上的脚本。
- 该脚本在每次迭代后使用 for 循环和睡眠延迟。
- 如果发生了什么事 - 循环被打破,信息返回给 jQuery。
- 如果脚本运行超过一分钟 - 脚本返回一个空值。
- 当 jQuery 从服务器接收到答案时,它会解析信息并再次启动相同的过程。
这是 facebook 使用的一个程序,它在他们的网站上就像一个魅力。在我的服务器上,我遇到了以下问题:例如,如果脚本延迟了 60 秒,而我在第 30 秒点击了我网站上的另一个链接,我们还有 30 秒的时间来生成输出。所以我的网络服务器正在等待这 30 秒,而我的点击请求在这几秒后被处理,这使得我的网站几乎无法使用。我仔细检查了 facebook,发现当您单击链接时,页面永远不会刷新,并且请求会继续在同一页面上流动。但是地址栏发生了变化。在我的网站上实现相同目标的方法是什么?有没有办法强制我的服务器一次处理一个以上的 PHP 请求,或者我们必须只使用 javascript 来执行此操作。我错过了什么?
PS据我所知,没有办法使用javascript更改地址栏。