load_namumark.js 3.5 KB

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