Proxer-Longstrip-Reader

Dieses Script fügt auf Proxer die Möglichkeit hinzu, Mangas im Longstrip-Format zu lesen

  1. // ==UserScript==
  2. // @name Proxer-Longstrip-Reader
  3. // @namespace de.34749.proxer
  4. // @version 0.7
  5. // @description Dieses Script fügt auf Proxer die Möglichkeit hinzu, Mangas im Longstrip-Format zu lesen
  6. // @author Dominik Bissinger alias Nihongasuki
  7. // @include http://proxer.me/*
  8. // @include https://proxer.me/*
  9. // @include http://www.proxer.me/*
  10. // @include https://www.proxer.me/*
  11. // lädt Anker
  12. // @require https://gf.qytechs.cn/scripts/12981-proxer-userscript-anker/code/Proxer-Userscript-Anker.js?version=81145
  13. // @run-at document-start
  14. // von Anker benötigt
  15. // @grant GM_setValue
  16. // von Anker benötigt
  17. // @grant GM_getValue
  18. // @grant GM_log
  19. // @grant unsafeWindow
  20. // @history 0.6.11 Anbinden des generischen Ankers
  21. // ==/UserScript==
  22.  
  23. /* Ruft die generischen Methoden des Ankers auf, um ein Member im Menü erzeugen zu lassen
  24. 1.Parameter --> id des Members in der Menüleiste
  25. 2.Parameter --> Angezeigter Text des Members
  26. 3.Parameter --> Boolean: true -> mit Häckhen/Kreuz | false -> ohne Häckhen/Kreuz
  27. 4.Parameter --> Methode die bei Initialisierung und Änderung der Speichervariable aufgerufen wird (An/Aus) WICHTIG KEINE '' oder ""
  28. Muss unique sein ratsam Programmname_actioControl zu nehmen, damit es nicht zu Problemen mit anderen Scripten kommen kann.
  29. 5.Parameter --> Name der Speichervariable
  30. 6.Parameter --> Initalwert der Speichervariable
  31. */
  32. addAnkerMember('longstrip', 'Longstrip-Reader', true, longstrip_actionControl, 'longstrip', 0);
  33.  
  34. /* Wird vom Anker aufgerufen
  35. change == true --> Speicherwert wurde verändert
  36. change == false --> Speicherwert unverändert (Initalisierung)
  37. */
  38. function longstrip_actionControl(change){
  39. if(change === true){
  40. // Reader ausgeschaltet
  41. if(GM_getValue("longstrip",0) === 0){
  42. // nur in proxer.me/reader neu laden
  43. if (window.location.href.indexOf('read') > -1) {
  44. if (window.location.href.indexOf('forum') > -1) {
  45. return;
  46. };
  47. window.location.reload();
  48. }
  49. // Reader eingeschaltet
  50. } else {
  51. longstrip();
  52. }
  53. // Initialisierung
  54. } else {
  55. longstrip();
  56. }
  57. }
  58.  
  59. //Longstrip-Reader
  60. function longstrip() {
  61. var x = GM_getValue("longstrip",0);
  62. console.log('GM longstrip in reader='+x);
  63. if (x === 0) {
  64. return;
  65. };
  66. if (window.location.href.indexOf('read') > -1) {
  67. if (window.location.href.indexOf('forum') > -1) {
  68. return;
  69. };
  70. var href = window.location.href;
  71. var i = 1;
  72. var x = 0;
  73. //Lösche Seitenanzeige
  74. document.getElementById("navigation").style.display = "none";
  75. //Ändere die Navigationseinstellungen
  76. window.addEventListener("keydown", changeChapter, false);
  77. //setze die Bilder
  78. document.getElementById('reader').innerHTML = "<a href='javascript:;' onclick='return false;' id='master'></a>";
  79. //nächstes Kapitel bei Klick
  80. document.getElementById('master').addEventListener ("click", changeChapter);
  81. var master = document.getElementById('master');
  82. document.getElementById('reader').style.maxWidth = "none";
  83. document.getElementById('reader').style.textAlign = "center";
  84. var pagesNumber = unsafeWindow.pages.length;
  85. var loop = function () {
  86. var br = document.createElement("br");
  87. var element = document.createElement("img");
  88. var url = unsafeWindow.serverurl+unsafeWindow.pages[x][0];
  89. url = url.replace(/\+/g,' ');
  90. element.setAttribute("class","chapterImage");
  91. element.setAttribute("src",url);
  92. element.setAttribute("width",unsafeWindow.pages[x][2]);
  93. element.setAttribute("height",unsafeWindow.pages[x][1]);
  94. element.setAttribute("style","opacity: 1; max-width: 100%; text-align: center; height: auto;");
  95. master.appendChild(element);
  96. master.appendChild(br);
  97. i++;
  98. x++;
  99. if (i <= pagesNumber) {
  100. setTimeout(loop,1000);
  101. };
  102. };
  103. loop();
  104. };
  105. };
  106.  
  107. //Weiterleitung zum nächsten Kapitel/zur Kapitelseite des momentanen Kapitels
  108. var changeChapter = function (event) {
  109. var lang = "";
  110. if (window.location.href.indexOf('forum') > -1) {
  111. return;
  112. };
  113. if (window.location.href.indexOf('en') > -1) {
  114. lang = "en";
  115. }else if (window.location.href.indexOf('de') > -1) {
  116. lang = "de";
  117. };
  118. // D oder Weiter oder Linke Maustaste
  119. if (event.keyCode === 68 || event.keyCode === 39 || event.button === 0) {
  120. window.location = unsafeWindow.nextChapter+'/#top';
  121. // A oder Zurück
  122. }else if (event.keyCode === 65 || event.keyCode === 37) {
  123. var div = document.getElementById('breadcrumb');
  124. var a = div.getElementsByTagName('a');
  125. if (lang !== "") {
  126. window.location = a[1].href;
  127. }else{
  128. window.location = a[0].href;
  129. };
  130. };
  131. };

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址