Greasy Fork 还支持 简体中文。

JotinhaPiece

Para você que não quer tomar nenhum spoiler da pagina Opex

  1. // ==UserScript==
  2. // @name JotinhaPiece
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0.2
  5. // @description Para você que não quer tomar nenhum spoiler da pagina Opex
  6. // @author winicius-o
  7. // @match https://onepieceex.net/*
  8. // @icon https://www.google.com/s2/favicons?domain=onepieceex.net
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14. function getRandomInt(min, max) {
  15. min = Math.ceil(min);
  16. max = Math.floor(max);
  17. return Math.floor(Math.random() * (max - min)) + min;
  18. }
  19.  
  20. const body = document.body;
  21. const newStyle = document.createElement("style");
  22. const className = document.querySelector("#base").className;
  23. const button = document.querySelector("#adicionais > li.contador");
  24.  
  25. let noticias = Array.from(document.querySelector("#noticias").children);
  26.  
  27.  
  28. const jotinhaThumbs = [
  29. {
  30. url: "https://i.imgur.com/GwNLtsB.png",
  31. title: "A marinha está recrutando!",
  32. description: "Akainu quer VOCÊ para servir o pais!",
  33. },
  34. {
  35. url: "https://i.imgur.com/7zBl4DL.png",
  36. title: "Akainu manda fotos sensualizando para barba branca",
  37. description: "Confira agora o pack completo que vazaram na DenDenNet",
  38. },
  39. {
  40. url: "https://i.imgur.com/8KFJJhR.png",
  41. title: "Luffy comeu a Gomu Gomu no mi",
  42. description: "O QUE ELE ESTAVA PENSANDO? AGORA ELE NUNCA MAIS VAI PORDER TOMAR BANHO",
  43. },
  44. {
  45. url: "https://i.imgur.com/ZfV1YSJ.png",
  46. title: "Quem são os almirantes da marinha?",
  47. description: "conheça um pouco mais sobre estes trabalhadores que mantem a ordem em nosso país 😍",
  48. },
  49. {
  50. url: "https://i.imgur.com/YB4xoJu.png",
  51. title: "Aokiji chega em ilha Drum",
  52. description: "em seu passeio turistico a paises frios, Kuzan chega a terrinha de Drum",
  53. },
  54. {
  55. url: "https://i.imgur.com/7aF8WgC.png",
  56. title: "Aokiji chega em Tequila Wolf",
  57. description: "Kuzan achou a região muito fria até pra ele 🥶",
  58. },
  59. {
  60. url: "https://i.imgur.com/1J4kVpM.png",
  61. title: "Aokiji sai para conhecer o mundo",
  62. description: "após se demitir do trabalho antigo, Kuzan decide que vai viver do ócio",
  63. },
  64. {
  65. url: "https://i.imgur.com/o1x705A.png",
  66. title: "Garp tem uma grande decepção",
  67. description: "Garp quase chora quando Luffy o informa que quer se tornar um pirata",
  68. },
  69. {
  70. url: "https://i.imgur.com/7aZsv9U.png",
  71. title: "Buggy na TV!",
  72. description: "enquanto o pau tá quebrando em marine ford, Buggy faz propaganda para ganhar apoio popular",
  73. },
  74. {
  75. url: "https://i.imgur.com/Ilp6qh1.png",
  76. title: "Forma hibrida de Kaido",
  77. description: "depois de tantas teorias, descobrimos que a forma hibrida de Kaido não é nada mais que...",
  78. },
  79. {
  80. url: "https://i.imgur.com/F3U76RW.png",
  81. title: "Ace aparece!",
  82. description: "Ace se encontra com o barco dos mugiwaras, descobrimos que ele só queria um prato de comida",
  83. },
  84. {
  85. url: "https://i.imgur.com/rn4SI2S.png",
  86. title: "Luffy tem muita fome",
  87. description: "Luffy não come por 5 horas e fica com cara de pidão nas mesas do restaurante"
  88. },
  89. {
  90. url: "https://i.imgur.com/8K55JSQ.png",
  91. title: "Doffy é humilhado",
  92. description: "depois de chamar Don flamingo de cibito baleado, luffy se destransforma do Gear 4 e tem que ser arrastado as pressas para longe do local",
  93. },
  94. {
  95. url: "https://i.imgur.com/rfCPd0h.png",
  96. title: "Big mama fofoca com o Bepo",
  97. description: "Big mama gostou do ursinho fofinho e decidiu contar o que tá escrito no poneglyph dela"
  98. },
  99. {
  100. url: "https://i.imgur.com/xIXJj7e.png",
  101. title: "Going merry está em manutenção",
  102. description: "going merry aparentemente está com problemas na quilha, por sorte um mecânico bonitão vai tentar salvar o dia",
  103. },
  104. {
  105. url: "https://i.imgur.com/adXY8oN.png",
  106. title: "Revelada nova gear do luffy",
  107. description: "o resultado foi um pouco descepcionante...",
  108. },
  109. {
  110. url: "https://i.imgur.com/Y0hFuKb.png",
  111. title: "Montblanc encontra o tesouro de skypea",
  112. description: "ele se questiona se valeu a pena ao custo de participar de um arco tão ruim",
  113. },
  114. {
  115. url: "https://i.imgur.com/fYlFc9G.png",
  116. title: "Revelado o novo almirante, o almirante verde",
  117. description: "ainda é desconhecido os limites de sua força"
  118. },
  119. {
  120. url: "https://i.imgur.com/0uNnuKW.png",
  121. title: "Sabo e Luffy se reencontram",
  122. description: "Ace esqueceu de comparecer",
  123. },
  124. {
  125. url: "https://i.imgur.com/GoEgTNb.png",
  126. title: "Veja qual foi o destino de cada mugiwara pós-timeskip",
  127. description: '"eu vi o zoro enfaixado e ele tinha um bundão" - Perona',
  128. }
  129.  
  130. ];
  131.  
  132. const corClara = "350,48,95";
  133. const corMedia = "350,62,74";
  134. const corEscura = "350,66,69";
  135.  
  136.  
  137. newStyle.setAttribute("id", "jotinhaStyle");
  138. newStyle.innerText = `:root {
  139.  
  140. --cor-clara: rgba(${corClara},1);
  141. --cor-clara-90: rgba(${corClara},.9);
  142. --cor-clara-80: rgba(${corClara},.8);
  143. --cor-clara-70: rgba(${corClara},.7);
  144. --cor-clara-60: rgba(${corClara},.6);
  145. --cor-clara-50: rgba(${corClara},.5);
  146. --cor-clara-40: rgba(${corClara},.4);
  147. --cor-clara-30: rgba(${corClara},.3);
  148. --cor-clara-20: rgba(${corClara},.2);
  149. --cor-clara-10: rgba(${corClara},.15);
  150.  
  151.  
  152. --cor-media: rgba(${corMedia},1);
  153. --cor-media-90: rgba(${corMedia},.9);
  154. --cor-media-80: rgba(${corMedia},.8);
  155. --cor-media-70: rgba(${corMedia},.6);
  156. --cor-media-60: rgba(${corMedia},.6);
  157. --cor-media-50: rgba(${corMedia},.5);
  158. --cor-media-40: rgba(${corMedia},.4);
  159. --cor-media-30: rgba(${corMedia},.3);
  160. --cor-media-20: rgba(${corMedia},.2);
  161. --cor-media-10: rgba(${corMedia},.15);
  162.  
  163.  
  164. --cor-escura: rgba(${corEscura},1);
  165. --cor-escura-90: rgba(${corEscura},.9);
  166. --cor-escura-80: rgba(${corEscura},.8);
  167. --cor-escura-70: rgba(${corEscura},.7);
  168. --cor-escura-60: rgba(${corEscura},.6);
  169. --cor-escura-50: rgba(${corEscura},.5);
  170. --cor-escura-40: rgba(${corEscura},.4);
  171. --cor-escura-30: rgba(${corEscura},.3);
  172. --cor-escura-20: rgba(${corEscura},.2);
  173. --cor-escura-10: rgba(${corEscura},.15);
  174.  
  175. }
  176. .${className} .personagem-topo {
  177. background: url('https://i.imgur.com/XWlfEKm.png');
  178. width: 300px;
  179. height: 350px;
  180. position: absolute;
  181. top: 0;
  182. left: 200px;
  183. z-index: 50;
  184. background-repeat: no-repeat;
  185. }
  186. @media (max-width: 990px) {
  187. .tema93709 .personagem-topo{top:40px; left:auto; right:0; width: 50%; height: 150px;background-size: contain; background-position: top right; }
  188. }
  189. `;
  190.  
  191. body.appendChild(newStyle);
  192. //document.querySelector("#topo > h1 > a > img").setAttribute("style", "background-image: url(https://i.imgur.com/W3TRpeI.png)");
  193.  
  194. const jotinhaThumbsCopy = jotinhaThumbs;
  195. noticias.forEach((elemento, index) => {
  196. if(!(index < 9)){
  197. return;
  198. }
  199.  
  200. const random = getRandomInt(0, jotinhaThumbs.length);
  201. const jotinhaThumb = jotinhaThumbsCopy[random];
  202. const noticia = elemento.children[1];
  203.  
  204. noticia.children[0].children[0].setAttribute("style", `background-image: url(${jotinhaThumb.url})`);
  205. noticia.children[1].innerHTML = jotinhaThumb.title;
  206. noticia.children[4].innerHTML = jotinhaThumb.description;
  207. noticia.children[2].remove()
  208.  
  209. jotinhaThumbsCopy.splice(random, 1);
  210. });
  211.  
  212. button.addEventListener("click", (event) => {
  213. document.querySelector("#jotinhaStyle").remove();
  214. noticias.forEach((noticia) => {
  215. noticia.children[1].children[0].children[0].removeAttribute("style");
  216. });
  217. });
  218.  
  219. })();