【发布时间】:2016-10-06 07:09:07
【问题描述】:
我正在尝试将我的 HTML5 画布游戏集成到单个 Web 界面中。
按下按钮时,html 游戏会填满<div id="game">。但我只在我的 javascript 文件中定义了我的 node.js。
现在我可能也可以在 HTML2 文件中定义它,但它似乎会创建 2 个单独的连接。
有没有办法在只有 1 个连接的情况下做到这一点?
简单地说 - 2 个独立的 HTML/javascript 文件具有完全相同的连接
谢谢
HTML
<div id="game">
<button id="gameFile">MyGame</button>
</div>
Javascript
var socket = io('http://192.168.0.5:2000');
socket.on('connect', function() {
socket.emit('login', {
});
});
$('#gameFile').click(function(event){
document.getElementById("game").innerHTML='<object type="text/html" data="games/myGame/index.html" style="width:100%; height: 100%;" ></object>';
});
HTML2 (games/myGame/index.html)
<canvas id="myCanvas">
Your browser does not support the HTML5 canvas tag :(
</canvas>
<script>
socket.emit('msg', "2nd HTML connected");
</script>
【问题讨论】:
-
您的问题陈述有冲突。您打算拥有 1 个具有 2 个视图的 Web 应用程序,还是 2 个独立的 Web 应用程序?
-
对不起。一次查看 2 个单独的应用程序。它是一个嵌入在通用 html 中的单独 html 视图。
-
你不能使用
sessionId来确定和加入同一个房间吗?比如socket.on('connection', function (socket) {socket.join(socket.handshake.sessionID);});? -
第二个单独的html进入
<div id="game">标签 -
@DavidR 我认为这正是我想要的。你有机会提供一个小的快速样品吗?我是个业余爱好者
标签: javascript node.js html socket.io