Google calendar event hider

Hide calendar events specified

  1. // ==UserScript==
  2. // @name Google calendar event hider
  3. // @namespace https://zachsaucier.com/
  4. // @version 0.1
  5. // @description Hide calendar events specified
  6. // @author Zach Saucier
  7. // @match https://calendar.google.com/calendar/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13. var eventList = [
  14. "Event name"
  15. ];
  16.  
  17. // The actual functionality to remove the events
  18. function hideEventsInList() {
  19. var spans = document.querySelectorAll(".cpchip span, .chip-caption span");
  20. for(var i = 0; i < spans.length; i++) {
  21. var span = spans[i];
  22. for(var j = 0; j < eventList.length; j++) {
  23. if(span.innerText.indexOf(eventList[j]) > -1) {
  24. var parent = span.parentNode.parentNode.parentNode.parentNode;
  25. parent.parentNode.removeChild(parent);
  26. }
  27. }
  28. }
  29. }
  30. hideEventsInList();
  31.  
  32. var observeDOM = (function() {
  33. var MutationObserver = window.MutationObserver || window.WebKitMutationObserver,
  34. eventListenerSupported = window.addEventListener;
  35.  
  36. return function(obj, callback) {
  37. if(MutationObserver) {
  38. // Define a new observer
  39. var obs = new MutationObserver(function(mutations, observer){
  40. if(mutations[0].addedNodes.length || mutations[0].removedNodes.length )
  41. callback();
  42. });
  43. // Have the observer observe foo for changes in children
  44. obs.observe(obj, {childList: true, subtree: true});
  45. }
  46. else if(eventListenerSupported ) {
  47. obj.addEventListener('DOMNodeInserted', callback, false);
  48. obj.addEventListener('DOMNodeRemoved', callback, false);
  49. }
  50. };
  51. })();
  52.  
  53. // Observe a specific DOM element:
  54. observeDOM(document.body.querySelector("#mainbody"), function() {
  55. hideEventsInList();
  56. });
  57. })();

QingJ © 2025

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