加载页面时,我在发送会话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>