无图模式

隐藏网站内的图片

目前為 2023-09-01 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name 无图模式
  3. // @name:zh-CN 无图模式
  4. // @name:en No picture
  5. // @description 隐藏网站内的图片
  6. // @description:en Hide picture
  7. // @version 0.0.5
  8. // @author l.lyndon
  9. // @match *://*.zhihu.com/*
  10. // @match *://*.douban.com/*
  11. // @match *://*.sina.com.cn/*
  12. // @match *://*.163.com/*
  13. // @match *://*.sohu.com/*
  14. // @match *://*.qq.com/*
  15. // @match *://*.msn.cn/*
  16. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAFEUExURU7Bj03Bj07BjU7Bjk3BkAAAAEzAkU/BjU3AkEzAklW/gUfBmU7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk3BkE7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bj07Bjk7Bjk7Bjk7Bjk7Bjk3AkU3BkE7Bjk7Bjk7BjkzAkk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Cjk7Bjk7Bjk3Bj07Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Bjk7Cjk7Cj0uziEWYfk2+jU27jEy4ik7Dj0SVfDtra0KKeDlkaEehgU/Ej0GFdkGEdkqxhz97cjdYZD9/c0aegDpoakmphE7AjTljaDVOYEKJeEilgzVQYUadfzROYEiohEuzif///yNHXZ4AAABJdFJOUwAAAAAAAAAAAAAAAC2IpoxZIwJF1vfZmUMIKtfyrT0BBZrpYgE46OeHssfY7Kz63Tr13ErR/LUzff3+0GsQFqjIbBkRYJicehIMk0NaAAAAAWJLR0RrUmWlmAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB+cIFgcFEOcYMLwAAADVSURBVAjXHY2HVsJgDIVvG35wr7rABS4QJwqKW5FhqKIFGSoWEHC9/wOYvzk5uflychPAMEdGx8YnJqcI5FPwkzXNzDOzc/NBAkChBdZRtBeXllcI4Yj0kg+PJV5dW8fGJj892+yUKyXmqIUY80u1xvXGq2zxFuLMb+/ND7fVtoW3sSPejvvZ7XlXd7Gnpd7/+nZE9w+Q0OzUflzhw6MAkt7z38ZfMXV8YhpIn3pG++z84pJ8Bq6u9SBxc5sxQQMKdJfN5QvWPdGgoZQw0dCwFL8mpf4Bqastmak5j04AAAAldEVYdGRhdGU6Y3JlYXRlADIwMjMtMDgtMjJUMDc6MDQ6NTArMDA6MDBTocvVAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIzLTA4LTIyVDA3OjAyOjA3KzAwOjAwoqUzxAAAACh0RVh0ZGF0ZTp0aW1lc3RhbXAAMjAyMy0wOC0yMlQwNzowNToxNiswMDowMH2xAkgAAAAgdEVYdHNvZnR3YXJlAGh0dHBzOi8vaW1hZ2VtYWdpY2sub3JnvM8dnQAAABh0RVh0VGh1bWI6OkRvY3VtZW50OjpQYWdlcwAxp/+7LwAAABh0RVh0VGh1bWI6OkltYWdlOjpIZWlnaHQAMTkyQF1xVQAAABd0RVh0VGh1bWI6OkltYWdlOjpXaWR0aAAxOTLTrCEIAAAAGXRFWHRUaHVtYjo6TWltZXR5cGUAaW1hZ2UvcG5nP7JWTgAAABd0RVh0VGh1bWI6Ok1UaW1lADE1OTQwODUwMDmu8H/JAAAAE3RFWHRUaHVtYjo6U2l6ZQAxMTMzOUJChIFZ/wAAAEJ0RVh0VGh1bWI6OlVSSQBmaWxlOi8vL3RtcC9pbWFnZWxjL2ltZ3ZpZXcyXzZfMTU5MjQ3OTgyMTE3NzIwNzRfNDhfWzBd1kwOkgAAAABJRU5ErkJggg==
  17. // @grant GM_xmlhttpRequest
  18. // @grant GM_registerMenuCommand
  19. // @grant GM_unregisterMenuCommand
  20. // @grant GM_openInTab
  21. // @grant GM_getValue
  22. // @grant GM_setValue
  23. // @grant GM_info
  24. // @grant window.onurlchange
  25. // @grant unsafeWindow
  26. // @sandbox JavaScript
  27. // @license MIT License
  28. // @run-at document-end
  29. // @namespace https://github.com/lyndonliu89757/noPic
  30. // @supportURL https://github.com/lyndonliu89757/noPic
  31. // @homepageURL https://github.com/lyndonliu89757/noPic
  32. // ==/UserScript==
  33.  
  34. 'use strict';
  35.  
  36. var menu_ALL = [
  37. ['menu_hidePicture', '隐藏图片', '隐藏图片', true],
  38. ['menu_hideVideo', '隐藏视频', '隐藏视频', true],
  39. ], menu_ID = [];
  40. for (let i = 0; i < menu_ALL.length; i++) { // 如果读取到的值为 null 就写入默认值
  41. if (GM_getValue(menu_ALL[i][0]) == null) { GM_setValue(menu_ALL[i][0], menu_ALL[i][3]) };
  42. }
  43. registerMenuCommand();
  44.  
  45. // 注册(不可用)脚本菜单
  46. function registerMenuCommand() {
  47. if (menu_ID.length > menu_ALL.length) { // 如果菜单ID数组多于菜单数组,说明不是首次添加菜单,需要卸载所有脚本菜单
  48. for (let i = 0; i < menu_ID.length; i++) {
  49. GM_unregisterMenuCommand(menu_ID[i]);
  50. }
  51. }
  52. for (let i = 0; i < menu_ALL.length; i++) { // 循环注册(不可用)脚本菜单
  53. menu_ALL[i][3] = GM_getValue(menu_ALL[i][0]);
  54. menu_ID[i] = GM_registerMenuCommand(`${menu_ALL[i][3] ? '✅' : '❌'} ${menu_ALL[i][1]}`, function () { menu_switch(`${menu_ALL[i][3]}`, `${menu_ALL[i][0]}`, `${menu_ALL[i][2]}`) });
  55. }
  56. menu_ID[menu_ID.length] = GM_registerMenuCommand('💬 反馈 & 建议', function () {
  57. window.GM_openInTab('https://github.com/lyndonliu89757/noPic', { active: true, insert: true, setParent: true });
  58. window.GM_openInTab('https://gf.qytechs.cn/zh-CN/scripts/473638/feedback', { active: true, insert: true, setParent: true });
  59. });
  60. }
  61.  
  62. // 菜单开关
  63. function menu_switch(menu_status, Name, Tips) {
  64. if (menu_status == 'true') {
  65. GM_setValue(`${Name}`, false);
  66. } else {
  67. GM_setValue(`${Name}`, true);
  68. }
  69. registerMenuCommand(); // 重新注册(不可用)脚本菜单
  70. start();
  71. };
  72.  
  73.  
  74. // 返回菜单值
  75. function menu_value(menuName) {
  76. for (let menu of menu_ALL) {
  77. if (menu[0] == menuName) {
  78. return menu[3]
  79. }
  80. }
  81. }
  82.  
  83. function changeElementDisplay() {
  84. Array.from(document.getElementsByTagName('img')).forEach(i => i.style.display = menu_value('menu_hidePicture') ? 'none' : 'inline');
  85. Array.from(document.getElementsByTagName('video')).forEach(i => i.style.display = menu_value('menu_hideVideo') ? 'none' : 'inline');
  86. }
  87.  
  88. (function () {
  89. // Violentmonkey 比 Tampermonkey 加载更早,会导致一些元素还没加载,因此需要延迟一会儿
  90. // Tampermonkey 4.18.0 版本可能需要延迟一会执行
  91. if (GM_info.scriptHandler === 'Violentmonkey' || (GM_info.scriptHandler === 'Tampermonkey' && parseFloat(GM_info.version.slice(0, 4)) >= 4.18)) {
  92. setTimeout(start, 300);
  93. } else {
  94. start();
  95. }
  96.  
  97. function start() {
  98. setTimeout(changeElementDisplay, 300);
  99. }
  100. })();

QingJ © 2025

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