main.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. var myObj = 0;
  2. var button = document.getElementById("button");
  3. var result = document.getElementById('result');
  4. var emoji = document.querySelectorAll(".emoji-item");
  5. var canvasIcon = document.querySelector(".draw img");
  6. var canvasBar = document.querySelector(".canvas");
  7. var main = document.querySelector("main");
  8. for (var i = 0; i < emoji.length; i++) {
  9. emoji[i].onclick = function(){
  10. var xmlhttp = new XMLHttpRequest();
  11. xmlhttp.open("POST", "http://students.a-level.com.ua:10012");
  12. xmlhttp.onreadystatechange = function(){
  13. if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
  14. console.log(xmlhttp.responseText);
  15. }
  16. }
  17. xmlhttp.send(JSON.stringify({ func: 'addMessage', nick: "p", message: this.getAttribute("src")}))
  18. }
  19. }
  20. var cansvasIsVisible = false;
  21. canvasIcon.onclick = function(){
  22. if(!cansvasIsVisible){
  23. canvasBar.style.visibility = "visible";
  24. cansvasIsVisible = true;
  25. main.style.marginLeft = "40%";
  26. }
  27. else{
  28. canvasBar.style.visibility = "hidden";
  29. cansvasIsVisible = false;
  30. main.style.margin = "0 auto";
  31. }
  32. }
  33. //
  34. button.onclick = function(){
  35. var xmlhttp = new XMLHttpRequest();
  36. var myNick = document.getElementById('input1').value;
  37. var myMessage = document.getElementById('input2').value;
  38. xmlhttp.open("POST", "http://students.a-level.com.ua:10012");
  39. xmlhttp.onreadystatechange = function(){
  40. if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
  41. console.log(xmlhttp.responseText);
  42. }
  43. }
  44. xmlhttp.send(JSON.stringify({ func: 'addMessage', nick: myNick, message: myMessage}))
  45. }
  46. //
  47. setInterval(function(){
  48. var xmlhttp = new XMLHttpRequest();
  49. xmlhttp.open("POST", "http://students.a-level.com.ua:10012");
  50. //xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
  51. xmlhttp.onreadystatechange = function(){
  52. if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
  53. var obj = JSON.parse(xmlhttp.responseText).data;
  54. console.log(obj)
  55. var resObj = Object.keys(obj);
  56. myObj += obj.length;
  57. for (var i = 0; i < obj.length; i++) {
  58. if(typeof obj[i].message != "object" && obj[i].message && obj[i].message.indexOf('youtube') > -1){
  59. var iframe = document.createElement("iframe");
  60. var str = "https://www.youtube.com/embed/";
  61. var index1 = obj[i].message.indexOf('=') + 1;
  62. if(obj[i].message.indexOf('&') > -1){
  63. var index2 = obj[i].message.indexOf('&');
  64. str2 = obj[i].message.slice(index1,index2);
  65. }
  66. else{
  67. str2 = obj[i].message.slice(index1);
  68. }
  69. console.log(str2);
  70. iframe.setAttribute("src",str + str2);
  71. result.innerHTML += obj[i].nick + ": ";
  72. result.appendChild(iframe);
  73. result.innerHTML += '<br>';
  74. }
  75. else if(typeof obj[i].message != "object" && obj[i].message && /(https?:\/\/.*\.(?:png|jpg))/i.test(obj[i].message)){ // obj[i].message.indexOf('.jpg') > -1
  76. var img = document.createElement("img");
  77. img.setAttribute("src",obj[i].message);
  78. result.innerHTML += obj[i].nick + ": ";
  79. result.appendChild(img);
  80. result.innerHTML += '<br>';
  81. }
  82. else if(typeof obj[i].message != "object" && obj[i].message && obj[i].message.indexOf('.gif') > -1){
  83. var img = document.createElement("img");
  84. img.setAttribute("src",obj[i].message);
  85. result.innerHTML += obj[i].nick + ": ";
  86. result.appendChild(img);
  87. result.innerHTML += '<br>';
  88. }
  89. else{
  90. result.innerHTML += "<div><span>" + obj[i].nick + "</span><br> "+ obj[i].message + '</div>';
  91. }
  92. }
  93. }
  94. }
  95. xmlhttp.send(JSON.stringify({ func: 'getMessages', messageId: myObj}));
  96. }
  97. ,3000);