当页面加载时,JavaScript没有向WebSocket发送信息



加载页面时,我在发送会话cookie信息时遇到麻烦。

下面是函数如何执行

<body onload="example();">

下面是函数self

function example() {
  websocket.send("<?php print($_SESSION['example']) ?>")
}

我也试过这种方法,但仍然不起作用。

function example() {
  websocket.send("Test")
}

我也试过调用这个函数当一个按钮被点击,它确实工作。

我想也许是连接到websocket不够快,example();函数在连接建立之前被调用。

这是一个如何从onload文档事件连接到WebSocket的完整示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>WebSocket Sample</title>
    <script type="text/javascript">
    function example()
    {
        // open websocket
        var socket = new WebSocket('ws://localhost:80');
        socket.onopen = function() {
            console.log("onopen!");
            // Web Socket is connected. send an initial random message.
            socket.send("Hello!");
        };
    }
    </script>
</head>
<body onload="example();">
    <h1>Title</h1>
</body>
</html>

我发现在函数执行后建立连接,所以我只是做了setTimeout,即使它不是一个很好的做法,它也足以满足我所做的项目。以下是我的解决方案的简短版本。

<!DOCTYPE HTML>
<HTML>
    <HEAD>
        <script language="javascript" type="text/javascript">
           function example() {
               function sendUser() {
                setTimeout(
                   function() {
                   websocket.send("Wroked!")
                   }, 1000);
                }
           }
        </script>
    </HEAD>
    <BODY onload="example();">
    </BODY>
</HTML>

相关内容

  • 没有找到相关文章

最新更新