18H Hentai Manga Autoload

autoload hentai manga and CG images in one page on 18h.mm-cg.com

Verze ze dne 11. 06. 2014. Zobrazit nejnovější verzi.

  1. // ==UserScript==
  2. // @name 18H Hentai Manga Autoload
  3. // @description autoload hentai manga and CG images in one page on 18h.mm-cg.com
  4. // @include http://*.servik.com/*
  5. // @include http://18h.mm-cg.com/*
  6. // @version 0.0.1.20140611065222
  7. // @namespace https://greasyfork.org/users/2233
  8. // ==/UserScript==
  9.  
  10. var wnd = window
  11. var doc = wnd.document
  12. var loc = location
  13. var href = loc.href
  14.  
  15. var load_imgs = function()
  16. {
  17. doc.body.innerHTML = ''
  18. var d = doc.createDocumentFragment()
  19. for(var i=0, len=imgs.length; i<len; i++)
  20. {
  21. var img = new Image()
  22. img.id = i
  23. img.onerror = function(){ this.onerror = null; this.style.display = 'none' }
  24. img.src = imgs[i]
  25. img.style.cssText = 'display: block; margin-left: auto; margin-right: auto'
  26. img.width = wnd.innerWidth * 0.70
  27. d.appendChild(doc.createTextNode('p. '+i))
  28. d.appendChild(doc.createElement('BR'))
  29. d.appendChild(img)
  30. d.appendChild(doc.createElement('BR'))
  31. }
  32. doc.body.appendChild(d)
  33. }
  34.  
  35. if(/^http:\/\/18h\.mm-cg\.com\//.test(href))
  36. {
  37. if(href.indexOf('.html')==-1)
  38. {
  39. try {
  40. doc.getElementById('fwin_dialog_submit').click()
  41. close_btns = doc.getElementsByClassName('mmad_drift_title')
  42. close_btns[1].click()
  43. } catch(e) {}
  44.  
  45. // the key of the stored cookie
  46. var key = '18h'
  47. var sub = /.*\/(.*)/.exec(href)[1]
  48. if(sub) { key = key + '_' + sub }
  49.  
  50. var lnks = doc.getElementsByTagName('A')
  51. for(var i=lnks.length-1; i>=0; i--)
  52. {
  53. lnks[i].target = '_blank'
  54. lnks[i].addEventListener('click', function(evt){
  55. evt.preventDefault()
  56. }, false)
  57. lnks[i].addEventListener('mousedown', function(evt){
  58. clickstart = evt.timeStamp
  59. }, false)
  60. lnks[i].addEventListener('mouseup', function(evt){
  61. clickstop = evt.timeStamp - clickstart
  62. if(clickstop >= 100)
  63. {
  64. //var t = this.innerHTML.replace(/<[^>]*>/g,'').replace(/^\s*/g,'').replace(/\s*$/g,'').replace(/&[^;]*;/g,'').replace(/\s+/g,' ')
  65. var t = this.text
  66. if(t == '') { return }
  67. var c = key + '=' + t + ' p.' + prompt('Title: ' + t + '\nEnter the page number: ','0') + '; expires=Fri, 31 Dec 9999 23:59:59 GMT;'
  68. if(/ p.[0-9]/.test(c)) { doc.cookie = c }
  69. return
  70. }
  71. wnd.open(this.href, '_blank')
  72. }, false)
  73. }
  74.  
  75. // press <cr> to focus the stored link and open it in a new tab
  76. addEventListener('keydown', function(evt){
  77. if(evt.keyCode == 13)
  78. {
  79. evt.preventDefault()
  80. var a = doc.cookie.split('; ')
  81. var len = a.length
  82. var k, v, p
  83. for(var i=0; i<len; i++)
  84. {
  85. k = /(.*?)=(.*)/.exec(a[i])[1]
  86. v = /(.*?)=(.*)/.exec(a[i])[2]
  87. if(k == key)
  88. {
  89. p = /(.*) p\.(\d+)/.exec(v)[2]
  90. v = /(.*) p\.(\d+)/.exec(v)[1]
  91. break
  92. }
  93. else
  94. {
  95. k = v = p = ''
  96. }
  97. }
  98. if(v)
  99. {
  100. var len = lnks.length
  101. for(var i=0; i<len; i++)
  102. {
  103. if(v == lnks[i].text) // found the link
  104. {
  105. lnks[i].focus()
  106. wnd.open(lnks[i].href + '#' + p, '_blank') // doesn't work
  107. lnks[i].style.color = '#ff9900'
  108. break
  109. }
  110. }
  111. }
  112. }
  113. }, false)
  114. throw 'exit'
  115. }
  116. if(href.indexOf('#')==-1) { loc.href = loc.href + '#' }
  117. var imgs = []
  118. var wnd = unsafeWindow
  119. if(typeof wnd.Large_cgurl != 'undefined') { imgs = wnd.Large_cgurl } else { alert("Cannot find the image links."); throw 'exit' }
  120. imgs.shift()
  121. load_imgs()
  122.  
  123. throw 'exit'
  124. }
  125. else if(/^http:\/\/.*?\.servik\.com\//.test(href))
  126. {
  127. if(href.indexOf('#')==-1) { loc.href = loc.href + '#' }
  128. var imgs = []
  129. href = href.replace(loc.hash,"")
  130. for(var i=1; i<=9; i++) { imgs[i] = href + '00' + i + '.jpg' }
  131. for(var i=10; i<=99; i++) { imgs[i] = href + '0' + i + '.jpg' }
  132. for(var i=100; i<=999; i++) { imgs[i] = href + '' + i + '.jpg' }
  133. imgs.shift()
  134. load_imgs()
  135.  
  136. throw 'exit'
  137. }