我可能会缺少一些基本知识,但这是我的目标:我有一个基于此处Instant Chat for drupal
的教程的小型即时聊天示例。原理是连接到基本上只是广播接收到的所有消息的nodejs服务器。
我在客户端(在drupal tpl.php文件中)具有此功能:
(function($) {
var myNick = 'me';
var socket = io.connect('http://<?php print $_SERVER['SERVER_ADDR'] ?>:8081');
socket.on('connect', function() {
$('#chat').addClass('connected');
});
socket.on('user message', message);
function message(from, msg) {
if (msg == 'GO') {
** EXECUTE A FUNCTION HERE **
} else { //display the message and sender
$('#lines').append($('<p>').append(from, msg));
}
}
$(document).ready(function() {
$('#send-message').submit(function() {
message(myNick, $('#messageinput').val());
socket.emit('user message', $('#messageinput').val());
clear();
$('#lines').get(0).scrollTop = 10000000;
return false;
});
function clear() {
$('#message').val('').focus();
};
});
})(jQuery);
当我发送一条内容= GO的消息时,将执行Submit,然后调用message(..,..)函数,并且我的特定函数将正确执行。
但是当我收到GO消息时,socket.on事件触发,将调用message()函数,但是我的特定函数未执行。
任何想法我该如何解决?
非常感谢您的帮助。 迈克尔。