Proxer-Longstrip-Reader

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

当前为 2015-10-10 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Proxer-Longstrip-Reader
  3. // @namespace
  4. // @version 0.6.10
  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. // @require https://greasyfork.org/scripts/10320-proxer-userscript-anker/code/Proxer-Userscript-Anker.user.js
  12. // @run-at document-start
  13. // @grant GM_setValue
  14. // @grant GM_getValue
  15. // @grant unsafeWindow
  16. // ==/UserScript==
  17.  
  18. //Startet die Funktion "addButton" beim Laden der Seite
  19. document.addEventListener('DOMContentLoaded', function(event) {
  20. addButton();
  21. });
  22.  
  23. //Fügt den Button "Longstrip-Reader" zu "Anker" hinzu und startet die Longstrip-Funktion beim Seitenaufruf
  24. var addButton = function() {
  25. var test = setInterval(function () {
  26. if (document.getElementById('anker') !== null) {
  27. var ul = document.getElementById("anker");
  28. var li = document.createElement("li");
  29. li.setAttribute("id","longstrip");
  30. ul.appendChild(li);
  31. var x = GM_getValue("onOff",0);
  32. if (x === 0) {
  33. document.getElementById('longstrip').innerHTML = '<a href="javascript:;">Longstrip-Reader <img src="https://proxer.me/images/misc/kreuz.png" width="15" height="15"></a>';
  34. }else{
  35. document.getElementById('longstrip').innerHTML = '<a href="javascript:;">Longstrip-Reader <img src="https://proxer.me/images/misc/haken.png" width="15" height="15"></a>';
  36. };
  37. document.getElementById('longstrip').addEventListener("click",function () {
  38. onOff();
  39. });
  40. longstrip();
  41. clearInterval(test);
  42. };
  43. i++;
  44. },100);
  45. };
  46.  
  47. //Toggle Longstrip-Reader
  48. var onOff = function () {
  49. var x = GM_getValue("onOff",0);
  50. if (x === 0) {
  51. GM_setValue("onOff",1);
  52. document.getElementById('longstrip').innerHTML = '<a href="javascript:;">Longstrip-Reader <img src="https://proxer.me/images/misc/haken.png" width="15" height="15"></a>';
  53. }else{
  54. GM_setValue("onOff",0);
  55. document.getElementById('longstrip').innerHTML = '<a href="javascript:;">Longstrip-Reader <img src="https://proxer.me/images/misc/kreuz.png" width="15" height="15"></a>';
  56. };
  57. longstrip();
  58. };
  59.  
  60. //Longstrip-Reader
  61. var longstrip = function () {
  62. var x = GM_getValue("onOff",0);
  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", function (event) {
  81. window.location = unsafeWindow.nextChapter+'/#top';
  82. });
  83. var master = document.getElementById('master');
  84. document.getElementById('reader').style.maxWidth = "none";
  85. document.getElementById('reader').style.textAlign = "center";
  86. var pagesNumber = unsafeWindow.pages.length;
  87. var loop = function () {
  88. var br = document.createElement("br");
  89. var element = document.createElement("img");
  90. var url = unsafeWindow.serverurl+unsafeWindow.pages[x][0];
  91. element.setAttribute("class","chapterImage");
  92. element.setAttribute("src",url);
  93. element.setAttribute("width",unsafeWindow.pages[x][2]);
  94. element.setAttribute("height",unsafeWindow.pages[x][1]);
  95. element.setAttribute("style","opacity: 1; max-width: 100%; text-align: center; height: auto;");
  96. master.appendChild(element);
  97. master.appendChild(br);
  98. i++;
  99. x++;
  100. if (i <= pagesNumber) {
  101. setTimeout(loop,1000);
  102. };
  103. };
  104. loop();
  105. };
  106. };
  107.  
  108. //Weiterleitung zum nächsten Kapitel/zur Kapitelseite des momentanen Kapitels
  109. var changeChapter = function (event) {
  110. var lang = "";
  111. if (window.location.href.indexOf('forum') > -1) {
  112. return;
  113. };
  114. if (window.location.href.indexOf('en') > -1) {
  115. lang = "en";
  116. }else if (window.location.href.indexOf('de') > -1) {
  117. lang = "de";
  118. };
  119. // D oder Weiter oder Linke Maustaste
  120. if (event.keyCode === 68 || event.keyCode === 39) {
  121. window.location = unsafeWindow.nextChapter+'/#top';
  122. // A oder Zurück
  123. }else if (event.keyCode === 65 || event.keyCode === 37) {
  124. var div = document.getElementById('breadcrumb');
  125. var a = div.getElementsByTagName('a');
  126. if (lang !== "") {
  127. window.location = a[1].href;
  128. }else{
  129. window.location = a[0].href;
  130. };
  131. };
  132. };