始终只显示10个最近的服务器发送事件消息 [英] Displaying of only 10 recent Server Sent Event Messages all the time

查看:78
本文介绍了始终只显示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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆