imanke Image URL

Generate image URL

目前为 2014-11-12 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name imanke Image URL
  3. // @namespace http://allencch.wordpress.com
  4. // @description Generate image URL
  5. // @include http://www.imanke.com/m/*
  6. // @version 1
  7. // @grant none
  8. // ==/UserScript==
  9.  
  10. /**
  11. * @date 2014-07-21
  12. */
  13.  
  14. function padZero(num,width) {
  15. s = num.toString();
  16. while(s.length<width)
  17. s = "0" + s;
  18. return s;
  19. }
  20.  
  21. function getImageLink() {
  22. return document.getElementsByTagName('img')[0].src;
  23. }
  24.  
  25. function getNumPages() {
  26. var length = document.getElementsByTagName('select')[0].children.length;
  27. return length;
  28. }
  29.  
  30. window.generateLink = function() {
  31. var mainDiv,newElement;
  32. var mainDivs = document.getElementsByClassName('m3p');
  33. mainDiv = mainDivs[mainDivs.length -1];
  34. if(mainDiv) {
  35. newElement = document.createElement('div');
  36. newElement.setAttribute('id','gm_elem');
  37. newElement.setAttribute('style','text-align:center');
  38. mainDiv.parentNode.insertBefore(newElement,mainDiv.nextSibling);
  39. }
  40. var gmElem = document.getElementById('gm_elem');
  41. //Generate all the links element
  42. var myLinks = new Array();
  43. var myText = new Array();
  44. var numPages = getNumPages();
  45. var link = getImageLink();
  46. var path = link.substring(0,link.lastIndexOf('/')+1);
  47. var filename = link.substring(link.lastIndexOf('/')+1);
  48. var match = filename.match(/[^\d]*?(\d+)\./);
  49. var width = match[1].length;
  50.  
  51. //var suffix = filename.substring(filename.lastIndexOf('.'));
  52. //var width = filename.length - 4; //-4 for image suffix
  53. for(var i=0;i<numPages;i++) {
  54. var regex = new RegExp(match[1]);
  55. myLinks[i] = path + filename.replace(regex,padZero(i+1,width));
  56.  
  57. //myLinks[i] = getImageLink(i+1);
  58. //myLinks[i] = path + padZero(i+1,width) + suffix;
  59. myText[i] = '<a target="_blank" href="'+myLinks[i]+'">'+padZero(i+1,3)+'</a> ';
  60. }
  61. if(gmElem){
  62. gmElem.innerHTML = '<hr>';
  63. for(var i=0;i<numPages;i++) {
  64. gmElem.innerHTML += myText[i];
  65. if((i+1)%20 == 0)
  66. gmElem.innerHTML += '<br/>';
  67. }
  68. gmElem.innerHTML += 'end';
  69. }
  70. }
  71.  
  72. window.setTimeout(function() {
  73. generateLink();
  74. },0.5*1000);