簡単なLANライブメッセージングWebアプリケーションを作成しようとしています。私はこれを行うには、HTML、CSS、Javascript、Socket.io、JQueryを使用しています。これまでも同様のアプリケーションを構築していますので、これらのタイプのプロジェクトでいくつかの経験があります。なぜ私は考えていないが、javascriptコマンドを実行しようとするたびに動作しない。 joingame()という関数を起動しようとするボタンがあります。この関数は未定義であると言います。私は変数を "テスト値"として定義しようとしましたが、それは引き続き ''としています。もし誰かが私を助けることができたら、それは素晴らしいだろう!それはおそらく何か本当に基本的なものですが、私はそれを理解することはできません。ありがとうございました!JavaScript/Socket.io WebアプリケーションがJSコマンドを実行していません
<!DOCTYPE HTML>
<html>
<head>
<style>
#start {
width: 400px;
height: 120px;
border: 1px solid black;
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translateY(-50%) translateX(-50%);
}
#chat {
width: 80%;
height: 80%;
border: 1px solid black;
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translateY(-50%) translateX(-50%);
}
</style>
</head>
<body>
<div id="start">
<center>
<h2>Enter your username below:</h2>
<input type="text" placeholder="Username here..." id="usernameid" />
<input type="button" value="Submit" onclick="joingame()" >
</center>
</div>
<div id="chat" style="display: none;">
<center>
<div id="chatbox">
<div id="inputarea">
<textarea id="chatinp" placeholder="Enter message here..." cols='50' rows='2' />
<input type="button" value="Send" onclick="sendchat()" id="sendbut" />
</div>
</div>
</center>
</div>
<script src="socket.io.js"></script>
<script src="jquery-3.2.0.js"></script>
<script type='text/javascript'>
var socket = io();
var usernameasdf = "test value";
function joingame() {
usernameasdf = document.getElementById("usernameid").value;
socket.emit('player', usernameasdf);
document.getElementById("start").style.display = "none";
document.getElementById("chat").style.display = "inline";
}
socket.on('player', function(name) {
alert(name);
});
function sendchat() {
alert("chat sent");
}
</script>
</body>
</html>
具体的には、あなたが依存している2つのライブラリ(ioとjquery - なぜjqueryを使用していない場合はjqueryをロードするのですか?) - そのコードは明らかに不完全です。 –
これらのスクリプトをsrcブロックでheadに移動し、スクリプトブロックをbodyタグの先頭に移動してください –
@JaromandaX、いいえロードしていないライブラリについてはエラーは発生していません。私はこのプロジェクトの初期段階にありますので、すぐにJQueryが必要になります。そして、ホストされている方法では、コーディングでSocket.ioサーバーとの接続を作成する必要はありません。私はそれがサーバーへのライブ接続に成功したことを確認できます。 –