Proxer-Longstrip-Reader

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

目前為 2015-06-21 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Proxer-Longstrip-Reader
  3. // @namespace
  4. // @version 0.6.3
  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. // @run-at document-start
  12. // @grant GM_setValue
  13. // @grant GM_getValue
  14. // @grant unsafeWindow
  15. // ==/UserScript==
  16.  
  17. //Startet die Funktion "addButton" beim Laden der Seite
  18. document.addEventListener('DOMContentLoaded', function(event) {
  19. addButton();
  20. });
  21.  
  22. //Fügt den Button "Longstrip-Reader" zu "Anker" hinzu und startet die Longstrip-Funktion beim Seitenaufruf
  23. var addButton = function() {
  24. var test = setInterval(function () {
  25. if (document.getElementById('anker') !== null) {
  26. var ul = document.getElementById("anker");
  27. var li = document.createElement("li");
  28. li.setAttribute("id","longstrip");
  29. ul.appendChild(li);
  30. var x = GM_getValue("onOff",0);
  31. if (x === 0) {
  32. document.getElementById('longstrip').innerHTML = '<a href="javascript:;">Longstrip-Reader <img src="https://proxer.me/images/misc/kreuz.png" width="15" height="15"></a>';
  33. }else{
  34. document.getElementById('longstrip').innerHTML = '<a href="javascript:;">Longstrip-Reader <img src="https://proxer.me/images/misc/haken.png" width="15" height="15"></a>';
  35. };
  36. document.getElementById('longstrip').addEventListener("click",function () {
  37. onOff();
  38. });
  39. longstrip();
  40. clearInterval(test);
  41. };
  42. },100);
  43. };
  44.  
  45. //Toggle Longstrip-Reader
  46. var onOff = function () {
  47. var x = GM_getValue("onOff",0);
  48. if (x === 0) {
  49. GM_setValue("onOff",1);
  50. document.getElementById('longstrip').innerHTML = '<a href="javascript:;">Longstrip-Reader <img src="https://proxer.me/images/misc/haken.png" width="15" height="15"></a>';
  51. }else{
  52. GM_setValue("onOff",0);
  53. document.getElementById('longstrip').innerHTML = '<a href="javascript:;">Longstrip-Reader <img src="https://proxer.me/images/misc/kreuz.png" width="15" height="15"></a>';
  54. };
  55. longstrip();
  56. };
  57.  
  58. //Longstrip-Reader
  59. var longstrip = function () {
  60. var x = GM_getValue("onOff",0);
  61. if (x === 0) {
  62. return;
  63. };
  64. if (window.location.href.indexOf('read') > -1) {
  65. if (window.location.href.indexOf('forum') > -1) {
  66. return;
  67. };
  68. var lang = "";
  69. if (window.location.href.indexOf('en') > -1) {
  70. lang = "en";
  71. }else{
  72. lang = "de";
  73. };
  74. var href = window.location.href;
  75. var info = href.match(/(\d[\d\.]*)/g);
  76. var i = 1;
  77. var x = 0;
  78. //Ändere die Navigationseinstellungen
  79. window.addEventListener("keydown", changeChapter, false);
  80. //setze die Bilder
  81. var number = parseInt(info[1],10);
  82. var nextChap = number + 1;
  83. document.getElementById('reader').innerHTML = "<a href='javascript:;' onclick='return false;' id='master'></a>";
  84. //nächstes Kapitel bei Klick
  85. document.getElementById('master').addEventListener ("click", function (event) {
  86. var pagesA = document.getElementById('pages').innerHTML;
  87. var numA = pagesA.match(/(\d[\d\.]*)/g);
  88. var pagesNumberA = numA[1];
  89. changePage(pagesNumberA+1,false);
  90. });
  91. var master = document.getElementById('master');
  92. document.getElementById('reader').style.maxWidth = "none";
  93. document.getElementById('reader').style.textAlign = "center";
  94. var pages = document.getElementById('pages').innerHTML;
  95. var num = pages.match(/(\d[\d\.]*)/g);
  96. var pagesNumber = num[1];
  97. while (i <= pagesNumber) {
  98. var br = document.createElement("br");
  99. var element = document.createElement("img");
  100. var url = "//upload.proxer.me/manga/"+info[0]+"_"+lang+"/"+info[1]+"/"+unsafeWindow.pages[x][0];
  101. element.setAttribute("class","chapterImage");
  102. element.setAttribute("src",url);
  103. element.setAttribute("width",unsafeWindow.pages[x][2]);
  104. element.setAttribute("height",unsafeWindow.pages[x][1]);
  105. element.setAttribute("style","opacity: 1; max-width: 100%; text-align: center; height: auto;");
  106. master.appendChild(element);
  107. master.appendChild(br);
  108. i++;
  109. x++;
  110. };
  111. };
  112. };
  113.  
  114. //Weiterleitung zum nächsten Kapitel/zur Kapitelseite des momentanen Kapitels
  115. var changeChapter = function (event) {
  116. var lang = "";
  117. if (window.location.href.indexOf('forum') > -1) {
  118. return;
  119. };
  120. if (window.location.href.indexOf('en') > -1) {
  121. lang = "en";
  122. }else{
  123. lang = "de";
  124. };
  125. var href = window.location.href;
  126. var info = href.match(/(\d[\d\.]*)/g);
  127. var number = parseInt(info[1],10);
  128. var formerChap = number;
  129. if (event.keyCode === 68 || event.keyCode === 39) {
  130. var pages = document.getElementById('pages').innerHTML;
  131. var num = pages.match(/(\d[\d\.]*)/g);
  132. var pagesNumber = num[1];
  133. changePage(pagesNumber+1,false);
  134. }else if (event.keyCode === 65 || event.keyCode === 37) {
  135. window.location = "/chapter/" +info[0]+ "/" +formerChap+ "/" +lang;
  136. };
  137. };