您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Corrections to UI of meteoblue.com
- // ==UserScript==
- // @name CSS: meteoblue.com
- // @description Corrections to UI of meteoblue.com
- // @author MK
- // @namespace max44
- // @homepage https://greasyfork.org/en/users/309172-max44
- // @match *://www.meteoblue.com/*
- // @icon https://www.meteoblue.com/favicon.ico
- // @version 1.5.7
- // @license MIT
- // @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
- // @run-at document-idle
- // ==/UserScript==
- (function() {
- 'use strict';
- //Workaround: This document requires 'TrustedHTML' assignment
- if (window.trustedTypes && trustedTypes.createPolicy) {
- if (!trustedTypes.defaultPolicy) {
- const passThroughFn = (x) => x;
- trustedTypes.createPolicy('default', {
- createHTML: passThroughFn,
- createScriptURL: passThroughFn,
- createScript: passThroughFn,
- });
- }
- }
- //CSS for any mode
- var cssUniversal = `
- /*Menu*/
- .nav a {
- padding-top: 7px !important;
- padding-bottom: 7px !important;
- }
- not(.menu-mobile) .nav .section-end::after {
- margin-top: 15px !important;
- margin-bottom: 15px !important;
- }
- .menu-mobile-container .menu-mobile .nav > li > a {
- min-height: 30px !important;
- }
- .menu-mobile-container .menu-mobile .nav > li.section-end + li {
- margin-top: -10px !important;
- }
- .menu-mobile-container .menu-mobile .nav > li {
- height: unset !important;
- }
- /*Position of cloud icons*/
- .picto .weekday.alt {
- line-height: unset !important;
- }
- /*Font size of temperature*/
- .tab-content .tab-temp-max, .tab-content .tab-temp-min {
- line-height: 24.5px !important;
- font-size: 17.5px !important;
- }
- /*Position of time headers*/
- .picto .time time {
- left: 0% !important;
- }
- /*Position and background of meteo condition icons in hourly forecast table*/
- .hourly-forecast .hourlywind .pictoicon {
- top: 0px !important;
- position: relative !important;
- width: unset !important;
- }
- tr.pictos-1h .picon {
- border-radius: 0px !important;
- }
- tr.pictos-1h > td > div > img[src$='_day.svg'] {
- background-color: #88b7df !important;
- }
- tr.pictos-1h > td > div > img[src$='_night.svg'] {
- background-color: #193f57 !important;
- }
- /*tr.pictos-1h > td {
- background-color: #88b7df !important;
- }*/
- /*Position of precipitation data in hourly forecast table*/
- .hourly-forecast .hourlywind .precip td span {
- position: unset !important;
- }
- .glyph.rain1h {
- margin-top: -49px !important;
- }
- .hourly-forecast .hourlywind .precip th span:not(.glyph.rain1h)/*:not([style^='margin-top'])*/ {
- position: unset !important;
- }
- /*No precipitation expected*/
- tr.precip > td[colspan="24"] {
- border-top: 1px solid #000 !important;
- border-bottom: 1px solid #000 !important;
- border-right: 1px solid #000 !important;
- }
- tr.precip > td[colspan="24"] > p {
- margin: 10px !important;
- line-height: 0.1em !important;
- }
- /*Dividers between cloud icons on 3 hours table*/
- .hourly-forecast .hourlywind tr.pictos_3h td {
- padding: 0 !important;
- border-right-color: gray !important;
- border-right-style: solid !important;
- border-right-width: thin !important;
- }
- /*Headers*/
- h2, h3 {
- font-size: 150% !important;
- }
- /*Font family and size of 14-days weather table*/
- .forecast-table td {
- font-family: Calibri, Roboto, Arial, sans-serif !important;
- font-size: 120% !important;
- padding-left: 3px !important;
- padding-right: 3px !important;
- }
- .forecast-table > tbody > tr:nth-child(2) > td { /*date*/
- font-size: 90% !important;
- }
- .forecast-table > tbody > tr:nth-child(8) > td, /*predictability*/
- .forecast-table > tbody > tr:nth-child(14) > td { /*precipitation probability*/
- font-size: 105% !important;
- }
- .forecast-table {
- padding-bottom: 5px !important;
- }
- .bloo table a {
- padding-left: unset !important;
- padding-right: unset !important;
- }
- /*Predictability bar height*/
- .fdw-svg {
- stroke: #D0D0D0 !important;
- stroke-width: 15 !important;
- }
- line[class^="predictability"] {
- stroke-width: 15 !important;
- }
- /*Color of precipitation probability*/
- .precipitation-1 {
- color:#6FBBDF !important;
- }
- .precipitation-2 {
- color:#518CCE !important;
- }
- .precipitation-3 {
- color:#3472B9 !important;
- }
- /*Adblock warning*/
- /*div[filter] {
- filter: none !important;
- }*/
- .page-header, .wrapper-main, .wrapper-sda, .navigation-scroll-container, .footer, .footer-quick {
- filter: none !important;
- }
- .unblock-div {
- display: none !important;
- }
- body.unblock {
- overflow: visible !important;
- margin-right: 0px !important;
- }
- /*Ad*/
- div.ad1-box, div.ad2, div#fixity, div#display_mobile_ad_in_header {
- display: none !important;
- }
- `;
- //CSS for light mode only
- var cssLight = `
- /*Active tab colour*/
- .tab.active:not(.foo) {
- background: #fffeefff !important;
- /*background: #ffffff !important;*/
- }
- /*Tab colour*/
- .tab {
- background: #e7ecf0 !important;
- /*background: #eaeaea !important;*/
- }
- /*Predictability meter background*/
- .tab_content .tab_predictability .meter_outer {
- background-color: hsl(0, 0%, 96.9%) !important;
- }
- /*Font color of precipitation probability in hourly forecast table*/
- tr.precip-prop > td > span {
- color: rgb(0, 64, 128) !important;
- }
- /*Font color of precipitation data in hourly forecast table*/
- .hourly-forecast .hourlywind .precip td span {
- color: rgb(0, 64, 128) !important;
- }
- `;
- const bodyMode = document.querySelector("body.dark");
- var css;
- if (bodyMode != null) {
- css = cssUniversal;
- } else {
- css = cssUniversal + cssLight;
- }
- if (typeof GM_addStyle != 'undefined') {
- GM_addStyle(css);
- } else if (typeof PRO_addStyle != 'undefined') {
- PRO_addStyle(css);
- } else if (typeof addStyle != 'undefined') {
- addStyle(css);
- } else {
- var node = document.createElement('style');
- node.type = 'text/css';
- node.appendChild(document.createTextNode(css));
- document.documentElement.appendChild(node);
- }
- //Change body class to remove adblock warning
- const rootCallback = function (mutationsList, observer) {
- var body = document.querySelector("body");
- if (body != null) {
- if (body.getAttribute("class").indexOf("unblock") > -1) {
- if (body.getAttribute("class").indexOf("dark") > -1) {
- body.setAttribute("class", " dark");
- } else {
- body.setAttribute("class", " ");
- }
- }
- }
- }
- const config = {childList: true, subtree: true};
- const rootNode = document.querySelector("body");
- if (rootNode != null) {
- const rootObserver = new MutationObserver(rootCallback);
- rootObserver.observe(rootNode, config);
- }
- //Change body class to remove adblock warning
- /*var body;
- let waitForUnblock = setInterval(function() { //Check page content constantly
- body = document.querySelector("body");
- if (body != null) {
- if (body.getAttribute("class").indexOf("unblock") > -1) {
- if (body.getAttribute("class").indexOf("dark") > -1) {
- body.setAttribute("class", " dark");
- } else {
- body.setAttribute("class", " ");
- }
- }
- }
- }, 500); //Interval to check page content*/
- })();