Resize Image On "Open image in new tab"

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

目前為 2015-04-24 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Resize Image On "Open image in new tab"
  3. // @name:zh-cn 右键在新标签中打开图片时显示最优化图像质量
  4. // @version 0.4.12
  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. // @match http://*.googleusercontent.com/*
  8. // @match https://*.googleusercontent.com/*
  9. // @match http://*.media.tumblr.com/*
  10. // @match https://*.media.tumblr.com/*
  11. // @match http://*.bp.blogspot.com/*
  12. // @match https://*.bp.blogspot.com/*
  13. // @match http://*.sinaimg.cn/*
  14. // @match https://*.sinaimg.cn/*
  15. // @match http://*.qpic.cn/*
  16. // @match http://*.twimg.com/*
  17. // @match https://*.twimg.com/*
  18. // @namespace https://greasyfork.org/users/2646
  19. // @copyright 2014+, CLE
  20. // ==/UserScript==
  21.  
  22. var url = document.location.toString();
  23. var m = null;
  24.  
  25. m = url.match(/^(https?:\/\/\w+\.googleusercontent\.com\/.+\/)([^\/]+)(\/[^\/]+(\.(jpg|jpeg|gif|png|bmp|webp))?)$/i);
  26. if(m) {
  27. if(m[2] != "s0") {
  28. document.location = m[1] + "s0" + m[3];
  29. }
  30. }
  31.  
  32. m = url.match(/^(https?:\/\/\w+\.googleusercontent\.com\/.+=)(.+)$/i);
  33. if(m) {
  34. if(m[2] != "s0") {
  35. document.location = m[1] + "s0";
  36. }
  37. }
  38.  
  39. m = url.match(/^(https?:\/\/\w+\.bp\.blogspot\.com\/.+\/)([^\/]+)(\/[^\/]+(\.(jpg|jpeg|gif|png|bmp|webp))?)$/i);
  40. if(m) {
  41. if(m[2] != "s0") {
  42. document.location = m[1] + "s0" + m[3];
  43. }
  44. }
  45.  
  46. var ma = url.match(/^(https?:\/\/\d+\.media\.tumblr\.com\/.*tumblr_\w+_)(\d+)(\.(jpg|jpeg|gif|png|bmp|webp))$/i);
  47. if(ma) {
  48. if(ma[2]<1280) {
  49. var ajax = new XMLHttpRequest();
  50. ajax.onreadystatechange=function() {
  51. if (ajax.readyState==4 && ajax.status==200) {
  52. document.location = ma[1] + "1280" + ma[3];
  53. }
  54. }
  55. ajax.open("HEAD", ma[1]+"1280"+ma[3], true);
  56. ajax.send();
  57. }
  58. }
  59.  
  60. m = url.match(/^(https?:\/\/ww[\d]+\.sinaimg\.cn\/)([^\/]+)(\/.+)$/i);
  61. if(m) {
  62. if(m[2] != "large") {
  63. document.location = m[1] + "large" + m[3];
  64. }
  65. }
  66.  
  67. m = url.match(/^(http:\/\/[\w\d]+\.qpic\.cn\/.+\/)(\d+)$/i);
  68. if(m) {
  69. if(m[2]<2000) {
  70. document.location = m[1] + "2000";
  71. }
  72. /*if(m[2]!=0) {
  73. document.location = m[1] + "0";
  74. }*/
  75. }
  76.  
  77. m = url.match(/^https?:\/\/\w+\.twimg\.com\/media\/([^\/:]+\.(jpg|jpeg|gif|png|bmp|webp))$/i);
  78. if(m) {
  79. document.location = m[0] + ":large";
  80. }
  81.  
  82. /*m = url.match(/^https?:\/\/\w+\.twimg\.com\/media\/([^\/:]+\.(jpg|jpeg|gif|png|bmp|webp))$/i);
  83. if(m) {
  84. document.location = m[0] + ":large?" + m[1];
  85. }
  86.  
  87. m = url.match(/^(https?:\/\/\w+\.twimg\.com\/media\/([^\/]+\.(jpg|jpeg|gif|png|bmp|webp)))\:(\w+)$/i);
  88. if(m) {
  89. if(m[4]!="large") {
  90. document.location = m[1] + ":large?" + m[2];
  91. }
  92. }*/