我会尽力解释这一点。但基本上在网站上,当您有一些动态内容(例如消息、通知等)时……您希望在消息到达后立即将这些信息呈现给用户。例如,向用户发送了一条新消息,在您的网站标题中显示一个带有计数的气泡。
这些天你几乎在每个网站上都能看到这些东西,我不确定实现这种功能的最佳方式。
我最初的想法是编写一些 ajax 调用,然后将其包装在一个setInterval
调用中,以便每 30 秒左右请求一次。这里明显的问题是 a) 您必须等待 30 秒才能收到请求,并且 b) 您可能在一天内向服务器请求数百次而没有实际显示的新内容。
我的第二个想法是使用 EventListeners,因为它们似乎更理想,因为据我了解,它们仅在服务器告诉它某些内容时才发出请求。但我不是 100% 确定如何构建这样的东西。任何人都可以举出一个简单的例子或指出一些可以作为这样的基础的东西吗?
所以要澄清我想要做什么:
当发生新的事情(例如发送消息或创建通知)时,这将发送一个事件,事件侦听器拾取并更新页面上的某些内容,显示带有信息的小弹出窗口或更新气泡,例如Messages (2)
我将使用 CakePHP 和 jQuery 来实现它。所以任何具体的事情都会很棒......希望有人可以帮助我。
本质上,我是在询问 EventListener 与 setInterval 以及它如何与 ajax 调用一起工作......