load_namumark.js 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. function get_link_state(data, i = 0) {
  2. var get_class = document.getElementsByClassName(data + 'link_finder')[i];
  3. if(get_class) {
  4. get_link_state(data, i + 1);
  5. var xhr = new XMLHttpRequest();
  6. xhr.open(
  7. "GET",
  8. get_class.href.replace('/w/', '/api/w/').replace(/#([^#]*)/, '') + "?exist=1",
  9. true
  10. );
  11. xhr.send(null);
  12. xhr.onreadystatechange = function() {
  13. if(this.readyState === 4 && this.status === 200) {
  14. if(JSON.parse(this.responseText)['exist'] !== '1') {
  15. document.getElementsByClassName(data + 'link_finder')[i].id = "not_thing";
  16. } else {
  17. document.getElementsByClassName(data + 'link_finder')[i].id = "";
  18. }
  19. }
  20. }
  21. }
  22. }
  23. function get_file_state(data, i = 0) {
  24. var get_class = document.getElementsByClassName(data + 'file_finder')[i];
  25. if(get_class) {
  26. get_file_state(data, i + 1);
  27. if(get_class.getAttribute('under_href') === 'out_link') {
  28. if(
  29. document.cookie.match(main_css_regex_data('main_css_image_set')) &&
  30. document.cookie.match(main_css_regex_data('main_css_image_set'))[1] === '1'
  31. ) {
  32. document.getElementsByClassName(data + 'file_finder')[i].innerHTML = '' +
  33. '<a href="' + get_class.getAttribute('under_src') + '">(' +
  34. get_class.getAttribute('under_src') +
  35. ')</a>' +
  36. '';
  37. } else {
  38. document.getElementsByClassName(data + 'file_finder')[i].innerHTML = '' +
  39. '<img style="' + get_class.getAttribute('under_style') + '" ' +
  40. 'alt="' + get_class.getAttribute('under_alt') + '" ' +
  41. 'src="' + get_class.getAttribute('under_src') + '">' +
  42. '';
  43. }
  44. } else {
  45. var xhr = new XMLHttpRequest();
  46. xhr.open(
  47. "GET",
  48. get_class.getAttribute('under_src').replace('/image/', '/api/image/'),
  49. true
  50. );
  51. xhr.send(null);
  52. xhr.onreadystatechange = function() {
  53. if(this.readyState === 4 && this.status === 200) {
  54. if(JSON.parse(this.responseText)['exist'] !== '1') {
  55. document.getElementsByClassName(data + 'file_finder')[i].innerHTML = '' +
  56. '<a href="' + get_class.getAttribute('under_href') + '" ' +
  57. 'id="not_thing">' +
  58. get_class.getAttribute('under_alt') +
  59. '</a>' +
  60. '';
  61. } else {
  62. if(
  63. document.cookie.match(main_css_regex_data('main_css_image_set')) &&
  64. document.cookie.match(main_css_regex_data('main_css_image_set'))[1] === '1'
  65. ) {
  66. document.getElementsByClassName(data + 'file_finder')[i].innerHTML = '' +
  67. '<a href="' + get_class.getAttribute('under_src') + '">(' +
  68. get_class.getAttribute('under_alt') +
  69. ')</a>' +
  70. '';
  71. } else {
  72. document.getElementsByClassName(data + 'file_finder')[i].innerHTML = '' +
  73. '<img style="' + get_class.getAttribute('under_style') + '" ' +
  74. 'alt="' + get_class.getAttribute('under_alt') + '" ' +
  75. 'src="' + get_class.getAttribute('under_src') + '">' +
  76. '';
  77. }
  78. }
  79. }
  80. }
  81. }
  82. }
  83. }
  84. function load_include(title, name, p_data) {
  85. var change = '';
  86. for(key in p_data) {
  87. change += '@' + p_data[key][0].replace('&', '<amp>') + '@,' + p_data[key][1].replace(',', '<comma>').replace('&', '<amp>') + ','
  88. }
  89. var url = "/api/w/" + encodeURI(title) + "?include=" + name + "&change=" + change;
  90. var xhr = new XMLHttpRequest();
  91. xhr.open("GET", url, true);
  92. xhr.send(null);
  93. xhr.onreadystatechange = function() {
  94. if(this.readyState === 4 && this.status === 200) {
  95. if(this.responseText === "{}\n") {
  96. document.getElementById(name).innerHTML = "";
  97. document.getElementsByClassName(name)[0].id = "not_thing";
  98. } else {
  99. var o_p_data = JSON.parse(this.responseText);
  100. document.getElementById(name).innerHTML = o_p_data['data'];
  101. eval(o_p_data['js_data']);
  102. }
  103. }
  104. }
  105. }
  106. function page_count() {
  107. var url = "/api/title_index";
  108. var xhr = new XMLHttpRequest();
  109. xhr.open("GET", url, true);
  110. xhr.send(null);
  111. xhr.onreadystatechange = function() {
  112. if(this.readyState === 4 && this.status === 200) {
  113. var i = 0;
  114. while(1) {
  115. if(document.getElementsByClassName('all_page_count')[i]) {
  116. document.getElementsByClassName('all_page_count')[i].innerHTML = JSON.parse(this.responseText)['count'];
  117. i += 1;
  118. } else {
  119. break;
  120. }
  121. }
  122. }
  123. }
  124. }
  125. function not_from_exist() {
  126. window.addEventListener('DOMContentLoaded', function() {
  127. if(document.getElementById('go_redirect_link')) {
  128. var r_link = document.getElementById('go_redirect_link').href;
  129. if(r_link.match(/#([^#]+)$/)) {
  130. var s_link = '#' + r_link.match(/#([^#]+)$/)[1];
  131. r_link = r_link.replace(/#([^#]+)$/, '');
  132. } else {
  133. var s_link = '';
  134. }
  135. window.location.href = r_link + '?from=' + location.pathname.replace(/^\/w\//, '') + s_link;
  136. }
  137. });
  138. }
  139. function do_open_folding(data, element) {
  140. var fol = document.getElementById(data);
  141. if(fol.style.display === '' || (fol.style.display === 'inline-block' || fol.style.display === 'block')) {
  142. document.getElementById(data).style.display = 'none';
  143. element.innerHTML = '(+)'
  144. } else {
  145. document.getElementById(data).style.display = 'block';
  146. element.innerHTML = '(-)'
  147. }
  148. }
  149. function do_open_foot(name, num = 0) {
  150. var found_include = name.match(/^(include_(?:[0-9]+)\-)/);
  151. if(found_include) {
  152. var include_name = name.replace(/^(?:include_(?:[0-9]+)\-)/, '');
  153. var front_data = found_include[1];
  154. } else {
  155. var include_name = name;
  156. var front_data = '';
  157. }
  158. if(
  159. document.cookie.match(main_css_regex_data('main_css_footnote_set')) &&
  160. document.cookie.match(main_css_regex_data('main_css_footnote_set'))[1] === '1'
  161. ) {
  162. if(num === 1) {
  163. document.getElementById(front_data + 'r' + include_name).focus();
  164. } else {
  165. var get_data = document.getElementById(front_data + include_name).innerHTML;
  166. var org_data = document.getElementById(front_data + 'd' + include_name).innerHTML;
  167. if(org_data === '') {
  168. document.getElementById(front_data + 'd' + include_name).innerHTML = '' +
  169. '<a href="#' + front_data + 'c' + include_name + '">(Go)</a> ' + get_data +
  170. '';
  171. document.getElementById(front_data + 'd' + include_name).className = 'spead_footnote';
  172. } else {
  173. document.getElementById(front_data + 'd' + include_name).innerHTML = '';
  174. document.getElementById(front_data + 'd' + include_name).className = '';
  175. }
  176. }
  177. } else {
  178. document.getElementById(front_data + 'r' + include_name).style.color = 'red';
  179. document.getElementById(front_data + 'c' + include_name).style.color = (num === 1 ? 'inherit' : 'red');
  180. document.getElementById(front_data + (num === 1 ? 'r' : 'c') + include_name).focus();
  181. }
  182. }