您需要先安装一个扩展,例如 篡改猴、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); })();