Resize Image On "Open image in new tab"

Support: Google(G+ blogspot picasa)\Tumblr\Twitter\新浪微博(sina weibo.com)\腾讯微博(tencent t.qq.com)

当前为 2015-09-27 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Resize Image On "Open image in new tab"
  3. // @name:zh-cn 右键在新标签中打开图片时显示最优化图像质量
  4. // @version 0.4.14
  5. // @description Support: Google(G+ blogspot picasa)\Tumblr\Twitter\新浪微博(sina weibo.com)\腾讯微博(tencent t.qq.com)
  6. // @description:zh-cn 支持:谷歌(G+ blogspot picasa)、Tumblr、推特、新浪微博、腾讯微博、知乎
  7. // @run-at document-start
  8. // @match http://*.googleusercontent.com/*
  9. // @match https://*.googleusercontent.com/*
  10. // @match http://*.media.tumblr.com/*
  11. // @match https://*.media.tumblr.com/*
  12. // @match http://*.bp.blogspot.com/*
  13. // @match https://*.bp.blogspot.com/*
  14. // @match http://*.sinaimg.cn/*
  15. // @match https://*.sinaimg.cn/*
  16. // @match http://*.qpic.cn/*
  17. // @match http://*.twimg.com/*
  18. // @match https://*.twimg.com/*
  19. // @match http://*.zhimg.com/*
  20. // @match https://*.zhimg.com/*
  21. // @namespace https://greasyfork.org/users/2646
  22. // @copyright 2015+, CLE
  23. // ==/UserScript==
  24.  
  25. var url = document.location.toString();
  26. var m = null;
  27.  
  28. //google
  29. m = url.match(/^(https?:\/\/\w+\.googleusercontent\.com\/.+\/)([^\/]+)(\/[^\/]+(\.(jpg|jpeg|gif|png|bmp|webp))?)$/i);
  30. if(m) {
  31. if(m[2] != "s0") {
  32. document.location = m[1] + "s0" + m[3];
  33. }
  34. }
  35. m = url.match(/^(https?:\/\/\w+\.googleusercontent\.com\/.+=)(.+)$/i);
  36. if(m) {
  37. if(m[2] != "s0") {
  38. document.location = m[1] + "s0";
  39. }
  40. }
  41.  
  42. //blogspot
  43. m = url.match(/^(https?:\/\/\w+\.bp\.blogspot\.com\/.+\/)([^\/]+)(\/[^\/]+(\.(jpg|jpeg|gif|png|bmp|webp))?)$/i);
  44. if(m) {
  45. if(m[2] != "s0") {
  46. document.location = m[1] + "s0" + m[3];
  47. }
  48. }
  49.  
  50. //tumblr
  51. var ma = url.match(/^(https?:\/\/\d+\.media\.tumblr\.com\/.*tumblr_\w+_)(\d+)(\.(jpg|jpeg|gif|png|bmp|webp))$/i);
  52. if(ma) {
  53. if(ma[2]<1280) {
  54. var ajax = new XMLHttpRequest();
  55. ajax.onreadystatechange=function() {
  56. if (ajax.readyState==4 && ajax.status==200) {
  57. document.location = ma[1] + "1280" + ma[3];
  58. }
  59. }
  60. ajax.open("HEAD", ma[1]+"1280"+ma[3], true);
  61. ajax.send();
  62. }
  63. }
  64.  
  65. //性浪微博
  66. m = url.match(/^(https?:\/\/ww[\d]+\.sinaimg\.cn\/)([^\/]+)(\/.+)$/i);
  67. if(m) {
  68. if(m[2] != "large") {
  69. document.location = m[1] + "large" + m[3];
  70. }
  71. }
  72.  
  73. //疼逊微博
  74. m = url.match(/^(http:\/\/[\w\d]+\.qpic\.cn\/.+\/)(\d+)$/i);
  75. if(m) {
  76. if(m[2]<2000) {
  77. document.location = m[1] + "2000";
  78. }
  79. /*if(m[2]!=0) {
  80. document.location = m[1] + "0";
  81. }*/
  82. }
  83.  
  84. //twitter
  85. m = url.match(/^https?:\/\/\w+\.twimg\.com\/media\/([^\/:]+\.(jpg|jpeg|gif|png|bmp|webp))$/i);
  86. if(m) {
  87. document.location = m[0] + ":large";
  88. }
  89. /*m = url.match(/^https?:\/\/\w+\.twimg\.com\/media\/([^\/:]+\.(jpg|jpeg|gif|png|bmp|webp))$/i);
  90. if(m) {
  91. document.location = m[0] + ":large?" + m[1];
  92. }
  93. m = url.match(/^(https?:\/\/\w+\.twimg\.com\/media\/([^\/]+\.(jpg|jpeg|gif|png|bmp|webp)))\:(\w+)$/i);
  94. if(m) {
  95. if(m[4]!="large") {
  96. document.location = m[1] + ":large?" + m[2];
  97. }
  98. }*/
  99.  
  100. //zhihu
  101. m = url.match(/^(https?:\/\/.+\.zhimg\.com\/\w+_)(\w+)(\.(jpg|jpeg|gif|png|bmp|webp))$/i);
  102. if(m){
  103. if(m[2]!="r") {
  104. document.location = m[1] + "r" + m[3];
  105. }
  106. }