Auto Try Big Image

Automatically try to show big image instead of original preview.

目前為 2017-02-18 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Auto Try Big Image
  3. // @namespace mnts
  4. // @description Automatically try to show big image instead of original preview.
  5. // @include http://anime-pictures.net?*
  6. // @include *://*anime-pictures.*/*
  7. // @include http?://anime.reactor.cc/tag/?*
  8. // @include *://*anime.reactor.*/tag/*
  9. // @include http?://zerochan.net/?*
  10. // @include *://*zerochan.*/*
  11. // @include http?://otakumode.com/?*/post/?*
  12. // @include *://*otakumode.*/*/post/*
  13. // @version 1.0
  14. // @grant none
  15. // ==/UserScript==
  16.  
  17. function tryAnimePictures() { //anime-pictures.net
  18. var aPreview = document.getElementById('big_preview_cont').getElementsByTagName('a')[0];
  19. if (aPreview === undefined) return;
  20. var bigImgUrl = aPreview.getAttribute('href');
  21. if (bigImgUrl !== undefined && bigImgUrl !== "") {
  22. var imgPreview = aPreview.getElementsByTagName('img')[0];
  23. if (imgPreview === undefined) return;
  24. imgPreview.setAttribute('width', imgPreview.width);
  25. imgPreview.setAttribute('src', '');
  26. imgPreview.setAttribute('src', bigImgUrl);
  27. }
  28. }
  29.  
  30. function tryAnimeReactorCC() {
  31. var asPreview = document.getElementsByClassName('prettyPhotoLink');
  32. for (var i = 0; i < asPreview.length; i++) {
  33. var a = asPreview[i];
  34. var urlBigImg = a.getAttribute('href');
  35. var img = a.getElementsByTagName('img')[0];
  36. img.setAttribute('src', '');
  37. img.setAttribute('src', urlBigImg);
  38. }
  39. }
  40.  
  41. function tryZerochan() {
  42. var divPreview = document.getElementById('large');
  43. if (divPreview === undefined) return;
  44. var aPreview = divPreview.getElementsByTagName('a')[0];
  45. if (aPreview === undefined) return;
  46. var imgPreview = aPreview.getElementsByTagName('img')[0];
  47. if (imgPreview === undefined) return;
  48. var urlFull = aPreview.getAttribute('href');
  49. if (urlFull.length <= 0) return;
  50. imgPreview.setAttribute('src', '');
  51. imgPreview.setAttribute('src', urlFull);
  52. }
  53.  
  54. function tryOtakumode() {
  55. var countPreview = 0;
  56. //var divContents = document.getElementById('contents');
  57. var articlesPreview = document.getElementsByTagName('article');
  58. //if (articlesPreview === undefined) return;
  59. var articlePreview = articlesPreview[0];
  60.  
  61. articlePreview.addEventListener('DOMSubtreeModified', function() {
  62. console.log('gotcher');
  63. var imgsPreview = document.getElementsByClassName('first nomenu nodraggable');
  64. if (countPreview === imgsPreview.length) return;
  65. countPreview = imgsPreview.length;
  66. console.log('atari');
  67.  
  68. var exprPass = ".*x\.jpg$";
  69. for (var i = 0; i < imgsPreview.length; i++) {
  70. var imgPreview = imgsPreview[i];
  71. var urlImage = imgPreview.getAttribute('src');
  72. if (urlImage.match(exprPass) === null) {
  73. console.log('bingo');
  74. var ext = '.jpg';
  75. var urlImageBig = urlImage.substring(0, urlImage.length - ext.length) + 'x' + urlImage.substring(urlImage.length - ext.length);
  76. imgPreview.setAttribute('src', '');
  77. imgPreview.setAttribute('src', urlImageBig);
  78. }
  79. }
  80. });
  81. }
  82.  
  83. tryAnimePictures();
  84. tryAnimeReactorCC();
  85. tryZerochan();
  86. tryOtakumode();