ImageViewer

浏览器图片查看效果增强 for Chrome/Edge/Firefox

当前为 2021-07-20 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name ImageViewer
  3. // @version 1.0.9
  4. // @description 浏览器图片查看效果增强 for Chrome/Edge/Firefox
  5. // @author Jack.Chan (971546@qq.com)
  6. // @namespace http://fulicat.com
  7. // @url https://gf.qytechs.cn/zh-CN/scripts/429054-imageviewer
  8. // @match *://*/*
  9. // @grant none
  10. // @run-at document-end
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15. var bgImage = `data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2NCIgaGVpZ2h0PSI2NCIgdmlld0JveD0iMCAwIDY0IDY0Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjMzAzMDMwOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyMDIwMjA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxyZWN0IGlkPSJsdCIgY2xhc3M9ImNscy0xIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiLz4KICA8cmVjdCBpZD0icmIiIGNsYXNzPSJjbHMtMSIgeD0iMzIiIHk9IjMyIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiLz4KICA8cmVjdCBpZD0ibGIiIGNsYXNzPSJjbHMtMiIgeT0iMzIiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIvPgogIDxyZWN0IGlkPSJydCIgY2xhc3M9ImNscy0yIiB4PSIzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIi8+Cjwvc3ZnPgo=`;
  16. var ua = navigator.userAgent.toLowerCase();
  17. var doc = document.body || document.documentElement;
  18. var isQQBrowser = ua.indexOf('qqbrowser/') > -1;
  19. var isQQBrowserPS = function() {
  20. return document && document.body && document.body.classList.contains('qb-picture-ps')
  21. }
  22. function loaded() {
  23. var docTagName = (function(tag){
  24. var tagName = tag && tag.tagName.toLowerCase();
  25. if (tagName) {
  26. if (tagName == 'svg') {
  27. return tagName;
  28. }
  29. if (tagName == 'body' && tag.children && tag.children.length) {
  30. tagName = tag.children[0].tagName.toLowerCase();
  31. if (tagName == 'img') {
  32. return tagName;
  33. } else {
  34. tagName = document.querySelector('img');
  35. return tagName && tagName.tagName && tagName.tagName.toLowerCase();
  36. }
  37. }
  38. }
  39. })(doc);
  40.  
  41. var isViewerMode = docTagName == 'svg' || docTagName == 'img';
  42. if (isViewerMode) {
  43. if (document.head) {
  44. var styleText = [];
  45. if (isQQBrowserPS()) {
  46. styleText.push(`body{box-sizing: border-box;background-attachment: fixed !important;background-repeat: repeat !important;}`);
  47. styleText.push(`body{background: url(${bgImage}) !important;}`);
  48. } else {
  49. styleText.push(`img{position: static !important;background: none !important;background-color: transparent !important;}`);
  50. }
  51. var style = document.createElement('style');
  52. style.setAttribute('type', 'text/css');
  53. style.innerHTML = styleText.join('');
  54. document.head.appendChild(style);
  55. }
  56. if (isQQBrowserPS()) {
  57. doc.style.position = 'static';
  58. doc.style.top = 'auto';
  59. doc.style.left = 'auto';
  60. doc.style.transform = 'none';
  61. } else {
  62. doc.style.backgroundImage = `url(${bgImage})`;
  63. doc.style.backgroundAttachment = 'fixed';
  64. doc.style.boxSizing = 'border-box';
  65. doc.style.position = 'absolute';
  66. doc.style.top = '50%';
  67. doc.style.left = '50%';
  68. doc.style.transform = 'translate(-50%, -50%)';
  69. if (docTagName == 'svg') {
  70. doc.style.margin = '10px';
  71. doc.style.width = 'auto';
  72. doc.style.height = 'auto';
  73. doc.style.maxWidth = '100%';
  74. doc.style.maxHeight = '100%';
  75. }
  76. }
  77. }
  78. }
  79. if (document.contentType.startsWith('image/')) {
  80. if (isQQBrowser && doc.tagName !== 'svg') {
  81. setTimeout(function() {
  82. loaded();
  83. }, 666);
  84. } else {
  85. loaded();
  86. }
  87. }
  88. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址