main.js 3.7 KB

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