nHentaiPage

link page form comment

  1. // ==UserScript==
  2. // @name nHentaiPage
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.2
  5. // @description link page form comment
  6. // @author copoxxx
  7. // @match https://nhentai.net/g/*
  8. // @match http://nhentai.net/g/*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. window.open = null;
  13.  
  14. (function() {
  15. 'use strict';
  16.  
  17. var counterCss = `.thumb-container .gallerythumb:before {
  18. counter-increment: PageCount;
  19. content: counter(PageCount);
  20. position: relative;
  21. color: white;
  22. left: 87.5px;
  23. text-shadow: 0 0 3px snow;
  24. }
  25. body {
  26. counter-reset: PageCount;
  27. }`;
  28. var commentBtn = `<a href = '#comments'><button class="btn btn-primary small" type="submit" style="
  29. position: fixed;
  30. top: 50px;
  31. left: 89.5vw;
  32. z-index: 9999;
  33. ">
  34. <i class="fa fa-share"></i>
  35. <span class="text">Comments</span>
  36. </button></a>`;
  37.  
  38. var S = V();
  39.  
  40. function V(){
  41. return {
  42. imgs:document.querySelectorAll('.thumb-container .gallerythumb'),
  43. comments:document.querySelectorAll('#comments .comment .body')
  44. };
  45. }
  46.  
  47.  
  48. function P(style){
  49. var e = document.createElement('style');
  50. e.innerHTML = style;
  51. document.head.appendChild(e);
  52. var t = document.querySelector('#info-block #info');
  53. if(t){
  54. t.innerHTML += commentBtn;
  55. }
  56. }
  57.  
  58. P(counterCss);
  59.  
  60. function F(){
  61. for(var i = 0;i<S.comments.length;i++){
  62. if(S.comments[i].innerHTML.search(/(P\d+)/) > -1){
  63. S.comments[i].innerHTML = G(S.comments[i].innerHTML);
  64. }
  65. }
  66. }
  67.  
  68. function G(s){
  69. s = s.split('\n');
  70. for(var i = s.length-1;i >= 0;i--){
  71. var d = s[i].match(/P(\d+)/);
  72. if(d){
  73. var page = parseInt(d[1])
  74. if(page > 0 && page <= S.imgs.length){
  75. s[i] = s[i].replace('P' + d[1],'<a href = "#page_' + d[1] + '">P' + d[1] + '</a>');
  76. S.imgs[page-1].children[0].id = 'page_' + d[1];
  77. S.imgs[page-1].children[0].style.border = 'dotted red';
  78. }
  79. }
  80. }
  81. return s.join('<br/>');
  82. }
  83.  
  84. F();
  85. })();