script.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const socket = io('http://192.168.1.20:5000/');
  2. let msgObj = {
  3. nick: '',
  4. message: ''
  5. }
  6. let btn = document.querySelector('.btn');
  7. btn.addEventListener('click', () => {
  8. msgObj.nick = nickname.value;
  9. msgObj.message = message.value;
  10. sendMessage(msgObj)
  11. });
  12. socket.on('msg', msg => readMessage(msg));
  13. function sendMessage(obj) {
  14. socket.emit('msg', obj);
  15. message.value = '';
  16. }
  17. let regYoutube = /http(?:s?):\/\/(?:www\.)?youtu(?:be\.com\/watch\?v=|\.be\/)([\w\-\_]*)(&(amp;)?‌​[\w\?‌​=]*)?/; //regExp for YouTube video
  18. function readMessage(msg) {
  19. let spanUserName = document.createElement('div');
  20. let spanMessages = document.createElement('div');
  21. spanUserName.style.backgroundColor = 'yellow';
  22. spanMessages.innerHTML += `${msg.nick} `;
  23. if (msg.message.match(regYoutube)) {
  24. console.log(`https://www.youtube.com/embed/${msg.message.match(regYoutube)[1]}`) // get youtube key
  25. spanMessages.innerHTML += `<iframe width="560" height="315" src="https://www.youtube.com/embed/${msg.message.match(regYoutube)[1]}" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`;
  26. } else {
  27. spanMessages.innerHTML += ` Send message : ${msg.message}`;
  28. }
  29. answer.prepend(spanMessages);
  30. answer.prepend(spanUserName);
  31. }