您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Apply the default border with the good color on full day events.
- // ==UserScript==
- // @name iCloud full day events border
- // @description Apply the default border with the good color on full day events.
- // @namespace https://gitlab.com/breatfr
- // @match https://www.icloud.com/calendar/
- // @version 1.0.0
- // @homepageURL https://gitlab.com/breatfr/icloud
- // @supportURL https://discord.gg/Q8KSHzdBxs
- // @author BreatFR
- // @copyright 2024, BreatFR (https://breat.fr)
- // @grant none
- // @icon https://gitlab.com/uploads/-/system/project/avatar/65415880/icloud.png
- // @license AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
- // ==/UserScript==
- (function() {
- 'use strict';
- function applyBorderStyle() {
- const iframes = document.querySelectorAll('iframe');
- iframes.forEach(iframe => {
- try {
- const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
- const buttons = iframeDoc.querySelectorAll('div:not(:has(.month-view-event-preview-start-time)) .css-6310j7 > button:not(:has(svg))');
- buttons.forEach(button => {
- const computedStyle = getComputedStyle(button);
- // Check if a border is defined with a color
- if (computedStyle.border && computedStyle.border !== '0px none rgba(0, 0, 0, 0)') {
- const borderColor = computedStyle.borderColor || computedStyle.borderLeftColor;
- // If a color is defined, apply the left border
- if (borderColor && borderColor !== 'rgba(0, 0, 0, 0)') {
- button.style.borderLeft = `3px solid ${borderColor}`;
- }
- }
- });
- } catch (error) {
- console.error('Erreur avec un iframe:', error);
- }
- });
- }
- const observer = new MutationObserver(applyBorderStyle);
- observer.observe(document.body, {
- childList: true,
- subtree: true
- });
- applyBorderStyle();
- setInterval(applyBorderStyle, 1000);
- })();