load_namumark.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. function get_link_state(data, i = 0) {
  2. if(document.getElementsByClassName(data + 'link_finder')[i]) {
  3. get_link_state(data, i + 1);
  4. var xhr = new XMLHttpRequest();
  5. xhr.open(
  6. "GET",
  7. document.getElementsByClassName(data + 'link_finder')[i].href.replace('/w/', '/api/w/').replace(/#([^#]*)/, '') + "?exist=1",
  8. true
  9. );
  10. xhr.send(null);
  11. xhr.onreadystatechange = function() {
  12. if(this.readyState === 4 && this.status === 200) {
  13. if(JSON.parse(this.responseText)['exist'] !== '1') {
  14. document.getElementsByClassName(data + 'link_finder')[i].id = "not_thing";
  15. } else {
  16. document.getElementsByClassName(data + 'link_finder')[i].id = "";
  17. }
  18. }
  19. }
  20. }
  21. }
  22. function get_file_state(data, i = 0) {
  23. if(document.getElementsByClassName(data + 'file_finder_1')[i]) {
  24. get_file_state(data, i + 1);
  25. var xhr = new XMLHttpRequest();
  26. xhr.open(
  27. "GET",
  28. document.getElementsByClassName(data + 'file_finder_1')[i].src.replace('/image/', '/api/image/'),
  29. true
  30. );
  31. xhr.send(null);
  32. xhr.onreadystatechange = function() {
  33. if(this.readyState === 4 && this.status === 200) {
  34. if(JSON.parse(this.responseText)['exist'] !== '1') {
  35. document.getElementsByClassName(data + 'file_finder_1')[i].style = "display: none;";
  36. } else {
  37. document.getElementsByClassName(data + 'file_finder_2')[i].innerHTML = "";
  38. }
  39. }
  40. }
  41. }
  42. }
  43. function load_include(title, name, p_data) {
  44. var change = '';
  45. for(key in p_data) {
  46. change += '@' + p_data[key][0].replace('&', '<amp>') + '@,' + p_data[key][1].replace(',', '<comma>').replace('&', '<amp>') + ','
  47. }
  48. var url = "/api/w/" + encodeURI(title) + "?include=" + name + "&change=" + change;
  49. var xhr = new XMLHttpRequest();
  50. xhr.open("GET", url, true);
  51. xhr.send(null);
  52. xhr.onreadystatechange = function() {
  53. if(this.readyState === 4 && this.status === 200) {
  54. if(this.responseText === "{}\n") {
  55. document.getElementById(name).innerHTML = "";
  56. document.getElementsByClassName(name)[0].id = "not_thing";
  57. } else {
  58. var o_p_data = JSON.parse(this.responseText);
  59. document.getElementById(name).innerHTML = o_p_data['data'];
  60. eval(o_p_data['js_data']);
  61. }
  62. }
  63. }
  64. }
  65. function page_count() {
  66. var url = "/api/title_index";
  67. var xhr = new XMLHttpRequest();
  68. xhr.open("GET", url, true);
  69. xhr.send(null);
  70. xhr.onreadystatechange = function() {
  71. if(this.readyState === 4 && this.status === 200) {
  72. var i = 0;
  73. while(1) {
  74. if(document.getElementsByClassName('all_page_count')[i]) {
  75. document.getElementsByClassName('all_page_count')[i].innerHTML = JSON.parse(this.responseText)['count'];
  76. i += 1;
  77. } else {
  78. break;
  79. }
  80. }
  81. }
  82. }
  83. }
  84. function not_from_exist() {
  85. window.addEventListener('DOMContentLoaded', function() {
  86. if(document.getElementById('go_redirect_link')) {
  87. window.location.href = document.getElementById('go_redirect_link').href + '?from=' + location.pathname.replace(/^\/w\//, '');
  88. }
  89. });
  90. }