[英]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>
这似乎是字符串比较的问题。 你肯定没有空格或一些怪异的Unicode字符receivedData
? 使用.trim()
再试一次。
检查这些:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.