You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.9 KiB
70 lines
1.9 KiB
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Title</title>
|
|
</head>
|
|
<body>
|
|
<h1>Демо чат</h1>
|
|
<h2>{{ order}}</h2>
|
|
|
|
|
|
<div id="message_chat">
|
|
{% for msg in order.order_messages.all %}
|
|
<h3> {{msg}} </h3>
|
|
{% endfor%}
|
|
</div>
|
|
|
|
<form method="post" id="message_form">
|
|
<textarea id="message" name="message"></textarea>
|
|
<input type="submit" />
|
|
</form>
|
|
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
|
|
<script type="text/javascript">
|
|
|
|
window.onload = function(){
|
|
var socket = new SocketHandler();
|
|
var form = document.getElementById('message_form');
|
|
|
|
form.onsubmit = function(e){
|
|
e.preventDefault();
|
|
console.log('submit click');
|
|
socket.send_message(form);
|
|
}
|
|
};
|
|
|
|
var SocketHandler = function(){
|
|
var url = 'ws://127.0.0.1:8888/chat';
|
|
var sock = new WebSocket(url);
|
|
var intervalId;
|
|
sock.onopen = function(){
|
|
console.log("Start connect");
|
|
intervalId = setInterval(function(){sock.send('{"dummy": 1}');}, 150000);
|
|
};
|
|
sock.onmessage = function(event){
|
|
console.log(event.data);
|
|
message = JSON.parse(event.data);
|
|
var inbox = document.getElementById('message_chat');
|
|
inbox.innerHTML += '<h2>' + message.msg + '</h2>';
|
|
};
|
|
this.send_message = function(form){
|
|
var elements = form.elements;
|
|
var data = {};
|
|
var i=0;
|
|
for(var i; i< elements.length; i++){
|
|
if (elements[i].name == 'message') {
|
|
data[elements[i].name] = elements[i].value;
|
|
}
|
|
}
|
|
sock.send(JSON.stringify(data));
|
|
var textareaMessage = document.getElementById("message");
|
|
textareaMessage.value = "";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|