小编exo*_*mic的帖子

使用Server Sent Events时如何删除safari的加载轮

我正在使用HTML5的Server Sent Events将更新推送到我的在线客户端.Firefox和Chrome上的一切都运行良好,但Safari随时都有加载轮.也许是因为他将SSE视为页面中加载的内容.

我怎么能对Safari说SSE不是加载的东西而是简单的更新脚本,所以用户在页面真正加载后不会看到加载轮?

这是客户端正在查看的实时更新的html页面:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>SSE Tester</title>
</head>
<body>
    <h1>SSE Output</h1>
    <div id="result"></div> 
    <h1>Debug Console</h1>
    <div id="status"></div>   
    <script>
    //SSE si compatible
    if(typeof(EventSource)!=="undefined")
    {
        var i = 1;
        var source=new EventSource("demo_sse.php");



        //Lorsque le serveur envoie un message
        source.onmessage=function(event)
        {
            //Validation de l'origine du serveur
            if (event.origin != 'https://secure.mydomain.com') 
            {
                document.getElementById("status").innerHTML+= "<br><b>Oups! Looks like something went wrong!\n\nPlease contact webmaster@mydomain.com with the following error :</b><p><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Origin of the EventSource wasn\'t coming from our secure server!</pre>";
                return;
            } …
Run Code Online (Sandbox Code Playgroud)

safari html5 push

5
推荐指数
1
解决办法
1023
查看次数

如何通过Socket.IO服务器端发送和捕获消息

我不确定如何理解socket.io中消息的用法.我正在尝试从客户端向服务器发送消息,然后服务器回复客户端(基本不是吗?).

这是服务器代码:

var fs = require('fs');
var hskey = fs.readFileSync('ssl.key');
var hscert = fs.readFileSync('ssl.crt');

var options = {
    key: hskey,
    cert: hscert
};

var app = require('https').createServer(options);
var io = require('/usr/local/lib/node_modules/socket.io').listen(app);

app.listen(8181);

io.sockets.on('connection', function (socket) {
  socket.emit('serverMessage', 'Hello world!');
  io.sockets.emit('serverMessage', 'A user connected');

  io.sockets.on('clientMessage', function (socket) {
    socket.emit('serverMessage', 'Gotamessage bitch!');
    console.log('I received a message by ', from, ' saying ', msg);
  });


    socket.on('disconnect', function () {
    io.sockets.emit('serverMessage', 'A user disconnected');
  });
});
Run Code Online (Sandbox Code Playgroud)

这是客户端代码:

<script>

        var socket;
        var firstconnect = true; …
Run Code Online (Sandbox Code Playgroud)

javascript websocket node.js socket.io

4
推荐指数
1
解决办法
6877
查看次数

标签 统计

html5 ×1

javascript ×1

node.js ×1

push ×1

safari ×1

socket.io ×1

websocket ×1