Баллы Humidex и ветрохолода для Gismeteo
当前为
// ==UserScript==
// @name GisMeteo Humidex & WindCold
// @version 2021.04.22.1
// @description Баллы Humidex и ветрохолода для Gismeteo
// @include http*://*gismeteo.ru/*
// @exclude http*://*gismeteo.ru/*/10-days/
// @exclude http*://*gismeteo.ru/*/2-weeks/
// @icon https://www.google.com/s2/favicons?domain=gismeteo.ru
// @author Rainbow-Spike
// @namespace https://greasyfork.org/users/7568
// @homepage https://greasyfork.org/ru/users/7568-dr-yukon
// @grant GM_addStyle
// ==/UserScript==
GM_addStyle ( ".chart__temperature { height: 120px !important; } .adds { display: block; font-size: 80%; font-weight: bold; margin: 10px 5px -5px 5px; }" );
var temps = document.querySelectorAll ( '.w_temperature .value span:nth-of-type(1)' ),
hums = document.querySelectorAll ( 'div[data-widget-id = humidity] .w-humidity' ),
speeds = document.querySelectorAll ( '.widget__row_wind .w_wind span:nth-of-type(1)' ),
temp, hum, speed, hdex, wcold, color, color1, t_sh, t_sh1;
function paint ( h ) {
switch ( true ) {
case h < 0: color = 'violet'; t_sh = 'white'; break;
case h == 0: color = 'blue'; t_sh = 'violet'; break;
case h < 10: color = 'blue'; t_sh = 'white'; break;
case h == 10: color = 'darkturquoise'; t_sh = 'blue'; break;
case h < 20: color = 'darkturquoise'; t_sh = 'white'; break;
case h == 20: color = 'green'; t_sh = 'darkturquoise'; break;
case h < 30: color = 'green'; t_sh = 'white'; break;
case h == 30: color = 'gold'; t_sh = 'green'; break;
case h < 40: color = 'gold'; t_sh = 'white'; break;
case h == 40: color = 'orange'; t_sh = 'gold'; break;
case h < 45: color = 'orange'; t_sh = 'white'; break;
case h == 45: color = 'red'; t_sh = 'orange'; break;
case h < 54: color = 'red'; t_sh = 'white'; break;
case h == 54: color = 'darkred'; t_sh = 'red'; break;
case h > 54: color = 'darkred'; t_sh = 'white'; break;
default: color = 'black'; t_sh = 'white'; break;
}
}
function paint1 ( h ) {
switch ( true ) {
case h <= -55: color1 = 'yellow'; t_sh1 = 'black'; break;
case h <= -48: color1 = '#413'; t_sh1 = 'white'; break;
case h <= -40: color1 = '#A47'; t_sh1 = 'white'; break;
case h <= -28: color1 = '#C7A'; t_sh1 = 'white'; break;
case h <= -10: color1 = '#87C'; t_sh1 = 'white'; break;
case h <= 0: color1 = '#DDE'; t_sh1 = 'white'; break;
case h > 0: color1 = 'white'; t_sh1 = 'black'; break;
default: color1 = 'black'; t_sh1 = 'white'; break;
}
}
for ( var i in temps ) {
if ( temps [ i ].innerHTML != null ) temp = temps [ i ].innerHTML.replace ( '+', '' ).replace ( '−', '-' ) * 1;
hum = hums [ i ].innerHTML * 1;
speed = Math.pow ( speeds [ i ].innerHTML * 3.6, 0.16 );
hdex = ( temp + 5 / 9 * ( ( 0.06112 * ( hums [ i ].innerHTML * 1 ) * Math.pow ( 10, ( 7.5 * temp / ( 237.7 + temp ) ) ) ) - 10 ) ) . toFixed ( 1 );
wcold = ( 13.12 + 0.6215 * hdex - 11.37 * speed + 0.3965 * hdex * speed ) . toFixed ( 1 );
paint ( hdex );
paint1 ( wcold );
if ( temps [ i ].innerHTML != null ) {
temps [ i ].innerHTML =
temps [ i ].innerHTML
+ '<span class = "adds" style = "color: ' + color + '; text-shadow: 0 0 0 ' + t_sh + ', 0 0 2px ' + t_sh + ', 0 0 4px ' + t_sh + '">' + hdex + ' Hx</span>'
+ '<span class = "adds" style = "color: ' + color1 + '; text-shadow: 0 0 0 ' + t_sh1 + ', 0 0 2px ' + t_sh1 + ', 0 0 4px ' + t_sh1 + '">' + wcold + ' wc</span>';
}
}