123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- let sendBtn = document.getElementById('sendButton')
- sendBtn.innerHTML = "Send"
- let nickInput = document.getElementById('nickInput')
- let msgInput = document.getElementById('msgInput')
- nickInput.style.width = '99.5%'
- msgInput.style.width = '99.5%'
- sendBtn.style.width = '100%'
- nickInput.style.height = '40px'
- msgInput.style.height = '40px'
- msgInput.style.marginTop = '20px'
- sendBtn.style.marginTop = '20px'
- sendBtn.style.height = '40px'
- nickInput.style.fontSize = '20px'
- msgInput.style.fontSize = '20px'
- sendBtn.style.fontSize = '20px'
- async function jsonPost(url, data)
- {
- let res = await fetch(url, {
- method: 'POST',
- body: JSON.stringify(data)
- });
- return await res.json();}
- function delay(ms) {
- return new Promise(resolve => setTimeout(resolve, ms));
- }
- let nickVal = nickInput.value
- let msgVal = msgInput.value
-
- async function sendMessage(nick,message) {
- jsonPost("http://students.a-level.com.ua:10012", {func: 'addMessage', nick: nickInput.value, message: msgInput.value })
- document.getElementById('nickInput').value = ''
- document.getElementById('msgInput').value = ''
- }
- async function getMessages() {
- let startMsg = 0
- jsonPost("http://students.a-level.com.ua:10012", {func: "getMessages", messageId: startMsg})
- .then(result=>{console.log(result.data)
- for(startMsg in result.data){
- let chat = document.getElementById('chat')
- let divMessage = document.createElement('div')
- divMessage.style.border = '1px solid black'
- divMessage.style.borderRadius = '10px'
- divMessage.style.marginTop = '10px'
- divMessage.style.backgroundColor = '#1E90FF'
- divMessage.style.color = 'white'
- let pMsg = document.createElement('p')
- pMsg.innerHTML = result.data[startMsg].nick + ':' + ' ' + result.data[startMsg].message
- pMsg.style.marginLeft = '20px'
- pMsg.style.fontSize = '30px'
- let time = document.createElement('p')
- time.innerHTML = `${new Date(result.data[startMsg].timestamp).toLocaleString()}`
- time.style.marginLeft = '20px'
- divMessage.append(pMsg)
- divMessage.append(time)
- chat.prepend(divMessage)
- }
- })
- }
- async function sendAndCheck(){
- await sendMessage(nickVal,msgVal)
- await getMessages()
- }
- sendBtn.onclick = () => {
- sendAndCheck()
- }
- async function checkLoop (){
- delay(3000)
- getMessages()
- }
- checkLoop()
|