Remove Blur from Meetup Images, Popup, and Increase Image Size

Removes the blur effect from images on Meetup, hides popups like Meetup+, and increases the size of static images.

  1. // ==UserScript==
  2. // @name Remove Blur from Meetup Images, Popup, and Increase Image Size
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.6.1
  5. // @description Removes the blur effect from images on Meetup, hides popups like Meetup+, and increases the size of static images.
  6. // @author Your Name
  7. // @match *://*.meetup.com/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. // Function to remove blur from images
  15. const removeBlur = () => {
  16. const blurredImages = document.querySelectorAll('img.blur-sm');
  17. blurredImages.forEach(img => {
  18. img.classList.remove('blur-sm');
  19. });
  20.  
  21. // Override the blur CSS globally to ensure it takes effect
  22. let style = document.getElementById('unblur-style');
  23. if (!style) {
  24. style = document.createElement('style');
  25. style.id = 'unblur-style';
  26. style.innerHTML = `.blur-sm { filter: none !important; }`;
  27. document.head.appendChild(style);
  28. }
  29. };
  30.  
  31. // Function to increase image size
  32. const increaseImageSize = () => {
  33. const images = document.querySelectorAll('img[src*="meetupstatic.com/photos/member"]');
  34. images.forEach(img => {
  35. img.style.width = '160px'; // Set the desired width
  36. img.style.height = '160px'; // Set the desired height
  37. img.style.minWidth = '160px';
  38. img.style.minHeight = '160px';
  39. });
  40. };
  41.  
  42. // Function to remove the popup
  43. const removePopup = () => {
  44. const popup = document.querySelector('.grid.h-full.grid-cols-1.md\\:grid-cols-2'); // Adjusted for dynamic classnames
  45. if (popup) {
  46. popup.style.display = 'none'; // Hide the popup
  47. return true; // Return true to indicate popup was found and removed
  48. }
  49. return false; // Return false if popup is not found
  50. };
  51.  
  52. // Function to remove padlock from images
  53. const removePadlock = () => {
  54. const padlocks = document.querySelectorAll('path[fill-rule="evenodd"]'); // Select padlock path elements
  55. padlocks.forEach(padlock => {
  56. const parent = padlock.closest('svg'); // Get the closest SVG parent
  57. if (parent && parent.getAttribute('data-src')?.includes('lock-outline.svg')) {
  58. parent.remove(); // Remove the entire SVG element if data-src contains 'lock-outline.svg'
  59. }
  60. });
  61. };
  62.  
  63.  
  64. // Function to apply all modifications
  65. const applyModifications = () => {
  66. removeBlur();
  67. //increaseImageSize();
  68. removePopup(); // Remove the popup if present
  69. removePadlock(); // Remove padlocks from images
  70. };
  71.  
  72. // Use MutationObserver to detect changes in the DOM (for dynamically loaded content)
  73. const observer = new MutationObserver(mutations => {
  74. mutations.forEach(mutation => {
  75. if (mutation.addedNodes.length) {
  76. applyModifications(); // Apply changes whenever new nodes are added
  77. }
  78. });
  79. });
  80.  
  81. // Observe the body for added nodes (popups or new images)
  82. observer.observe(document.body, { childList: true, subtree: true });
  83.  
  84. // Initial application of modifications when the script first runs
  85. applyModifications();
  86.  
  87. })();

QingJ © 2025

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