繁体   English   中英

通过Socket.io控制HTML页面

[英]Controlling a HTML page via Socket.io

我想使用通过Socket.io从Node.js服务器收到的字符串来控制HTML页面的外观。 我收到的每个字符串都将成为列表中的一个条目(请参见下面的屏幕截图)。 直到这里工作。 现在,我想使用这些字符串来控制其他事情,例如标题的颜色

我正在使用字符串比较。 每当接收到的字符串为“ on”时,我都尝试将标题变为绿色。 但是,以下命令不会使标题变为绿色:

if(receivedData == "on") 
{
    $("#currentData").css("color", "green");
}

但是,如果当我收到除“开”以外的任何消息时,我告诉我的计算机将标题变为绿色。则标题变为绿色。 但是,传入消息恰好是“打开”! 在这种情况下,标题不应变为绿色!

if(receivedData != "on") 
{
    $("#currentData").css("color", "green");
}

我究竟做错了什么?

这是完整的客户端HTML代码和屏幕快照的链接。

<!doctype html>
<html>
    <head>
        <title>Browser Info Panel</title>
        <link rel="stylesheet" type="text/css" href="./styles.css">
    </head>

    <body>
        <div id="currentData"> <h1> CurrentData </h1> </div>
        <ul id="messages" /ul>


        <script src="/socket.io/socket.io.js"></script>
        <script src="http://code.jquery.com/jquery-1.11.1.js"></script>
        <script>    
            var receivedData;
            var socket = io();
            socket.on('chat message', function(msg)
            {
                $('#messages').append($('<li>').text(msg));
                receivedData = msg;

                if(receivedData != "on") 
                {
                    $("#currentData").css("color", "green");
                }
            });
        </script>  
    </body>
</html>

截图: http//i.imgur.com/ruZP0x5.jpg

这似乎是字符串比较的问题。 你肯定没有空格或一些怪异的Unicode字符receivedData 使用.trim()再试一次。

检查这些:

https://stackoverflow.com/a/19649034/1528880

https://stackoverflow.com/a/1706650/1528880

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM