search.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. function search_do() {
  2. function search_load() {
  3. var data = document.getElementById("search_input").value;
  4. if(before !== data && data !== '') {
  5. before = data;
  6. var url = "/api/search/" + encodeURI(data);
  7. var xhr = new XMLHttpRequest();
  8. xhr.open("GET", url, true);
  9. xhr.send(null);
  10. xhr.onreadystatechange = function() {
  11. if(this.readyState === 4 && this.status === 200) {
  12. document.getElementById("pre_search").style.display = 'block';
  13. var get_data = JSON.parse(this.responseText);
  14. document.getElementById("pre_search").innerHTML = '';
  15. if(this.responseText !== "{}\n") {
  16. for(key in get_data) {
  17. document.getElementById("pre_search").innerHTML += '<a href="/w/' + encodeURI(get_data[key][0]).replace('#', '%23') + '">' + get_data[key][0] + '</a><br>';
  18. }
  19. } else {
  20. document.getElementById("pre_search").style.display = 'none';
  21. }
  22. }
  23. }
  24. } else if(before !== data && data === '') {
  25. before = '';
  26. document.getElementById("pre_search").style.display = 'none';
  27. }
  28. }
  29. var before = '';
  30. save_data = 'pre_search';
  31. open = 1;
  32. setTimeout(function() { open = 0; }, 100);
  33. setInterval(search_load, 1000);
  34. }
  35. function view_search() {
  36. var data = document.getElementById("pre_search").innerHTML;
  37. if(data !== '') {
  38. document.getElementById("pre_search").style.display = 'block';
  39. }
  40. open = 1;
  41. setTimeout(function() { open = 0; }, 100);
  42. }