如何使用Javascript使网页始终保持最新状态?



这个网页有点像新闻板,我希望它使用我的数据库中的最新数据进行更新,这些数据是通过API提供的,不需要刷新页面。

我认为最简单的方法是使用每 X 秒拨打一次电话的计时器,但我正在寻找一种使用更少资源的更好方法。我读过关于 Webhooks 的信息,但我找不到实现它并获得我想要的东西的方法。

任何建议都会非常有帮助。 提前感谢!

取决于您的后端技术。 如果你是.NET开发人员,那么最著名的real-time web functionality库就是SignalR。

还有很多其他的库,如 socket.io 或API,如推送器。

它们并不难实现,但由于它们无论如何都会增加应用的另一个复杂程度,因此您可能需要更多地考虑在发布者/订阅者方法之间传输的内容。

根据我的经验,我们过去常常在属性更改时向订阅者提供整个对象,但后来我们决定只通知所有订阅者有关更改的信息,并让他们决定是否要使用新数据进行刷新。

我认为你要问的是如何不断从来源获得反馈。我不确定您的API是如何工作的,但是如果您寻找的新闻元素是像<iframe>这样简单的东西,则可以使用Javascript检查是否有更新,例如:

var mynewsfeed = ""; //Declares newsfeed variable
setInterval(function(){
if (API.update != nul) { //Should lighten the load on the processor
mynewsfeed = API.update() //Updates newsfeed
document.getElementById("newsfeediframe").src=mynewfeed;
}
}, 10000); //Will check every 10 seconds (can be shorter)

可悲的是,由于您没有提供任何代码,或者您正在使用什么API,我无能为力。如果您编辑帖子,会更容易提供帮助。

您可以尝试的另一件事是(如果 API 支持它(只需执行类似

if (API.checkForUpdate()) {
//Do something
}

以所需的时间间隔进行 ajax 调用。这是您可能的答案 - 每 X 分钟调用 jQuery Ajax 请求

最新更新