Socket.io 不适用于 Firefox &铬合金 [英] Socket.io does not work on Firefox & Chrome
本文介绍了Socket.io 不适用于 Firefox &铬合金的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试开发一个简单的聊天应用程序.这是我的 chat.js 文件.
var app = require('http').createServer(handler), io = require('socket.io').listen(app), fs = require('fs');应用程序听(8124);函数处理程序 (req, res) {fs.readFile(__dirname + '/chat.html',功能(错误,数据){如果(错误){res.writeHead(500);return res.end('加载 chat.html 时出错');}res.writeHead(200);res.end(数据);});}io.sockets.on('connection', function (socket) {socket.on('addme',function(username) {socket.username = 用户名;socket.emit('chat', 'SERVER', '你已经连接');socket.broadcast.emit('chat', 'SERVER', 用户名 + ' 在甲板上');});socket.on('sendchat', function(data) {io.sockets.emit('chat', socket.username, data);});socket.on('断开', 函数() {io.sockets.emit('chat', 'SERVER', socket.username + '已经离开大楼');});});
还有我的 chat.html 文件.
<meta charset="utf-8"><title>双向通信</title><script src="/socket.io/socket.io.js"></script><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script><脚本>$(document).ready(function(e) {var socket = io.connect('http://localhost:8124/');$('#submit').click(function(e) {e.preventDefault();v = $('#uname').val();$('#username').html('');socket.emit('addme', v);});socket.on('chat',function(username, data) {var p = document.createElement('p');p.innerHTML = 用户名 + ':' + 数据;document.getElementById('output').appendChild(p);});window.addEventListener('load',function() {document.getElementById('sendtext').addEventListener('click',功能() {var text = document.getElementById('data').value;socket.emit('sendchat', text);}, 错误的);}, 错误的);});头部><身体><div id="输出"></div><div id="用户名"><input type="text" name="uname" id="uname"><input type="submit" name="submit" id="submit" value="Submit">
<div id="发送"><input type="text" id="data" size="100"/><br/><input type="button" id="sendtext" value="发送文本"/>