始终只显示10个最近的服务器发送事件消息 [英] Displaying of only 10 recent Server Sent Event Messages all the time
本文介绍了始终只显示10个最近的服务器发送事件消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在此页上,我可以将其脚本更改为反向运行,显示列表顶部的最新事件:
On this page, I was able to alter their script to run in reverse, showing the lastest event at the top of the list:
<!DOCTYPE html>
<html>
<body>
<h1>Getting server updates</h1>
<div id="result"></div>
<script>
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
document.getElementById("result").innerHTML = event.data + "<br>" + document.getElementById("result").innerHTML;
};
} else {
document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
}
</script>
</body>
</html>
我如何将此限制仅限于10个最近的消息事件?
How would I limit this to the 10 most recent message events only?
推荐答案
您可以将其粘贴到试试窗口看它是否有效。
You can paste this in their try it window to see it working.
<!DOCTYPE html>
<html>
<body>
<h1>Getting server updates</h1>
<div id="result"></div>
<script>
messages = new Array();
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
if (messages.length == 10) messages.splice(-1, 1);
messages.splice(0, 0, event.data);
document.getElementById("result").innerHTML = messages.join("<br />");
};
} else {
document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
}
</script>
</body>
</html>
这篇关于始终只显示10个最近的服务器发送事件消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文