Баллы Humidex для Gismeteo
// ==UserScript==
// @name PrimPogoda Humidex
// @version 2020.10.23
// @description Баллы Humidex для Gismeteo
// @include http*://*primpogoda.ru/*.now
// @icon https://www.google.com/s2/favicons?domain=primpogoda.ru
// @author Rainbow-Spike
// @namespace https://greasyfork.org/users/7568
// @homepage https://greasyfork.org/ru/users/7568-dr-yukon
// @grant none
// ==/UserScript==
var cells = document.querySelectorAll ( '.forecast .columns' ),
temp = cells [ 4 ].querySelector ( 'p' ).innerHTML.split ( '°' ) [ 0 ].replace ( '+', '' ).replace ( '−', '-' ) * 1,
humd = cells [ 6 ].querySelector ( 'p' ).innerHTML.replace ( '%', '' ) * 1,
humidex = Math.round ( temp + 5 / 9 * ( ( 6.112 * Math.pow ( 10, 7.5 * temp / ( 237.7 + temp ) ) * humd / 100 ) - 10 ) ),
color,
text;
function paint ( h ) {
switch ( true ) {
case h <= 0:
color = 'violet';
text = 'Нет дискомфорта';
break;
case h <= 10:
color = 'blue';
text = 'Нет дискомфорта';
break;
case h <= 20:
color = 'darkturquoise';
text = 'Нет дискомфорта';
break;
case h <= 30:
color = 'green';
text = 'Нет дискомфорта';
break;
case h <= 40:
color = 'gold';
text = 'Некоторый дискомфорт';
break;
case h <= 45:
color = 'orange';
text = 'Большой дискомфорт; избегать усилий';
break;
case h < 54:
color = 'red';
text = 'Опасно; возможен тепловой удар';
break;
case h >= 54:
color = 'darkred';
text = 'Опасно; возможен тепловой удар';
break;
default:
color = 'black';
text = '-';
break;
}
}
paint ( humidex );
cells [ 5 ].querySelector ( 'p' ).innerHTML = '<span style = "font-weight: bold; color: ' + color + '" title = "' + text + '">' + humidex + '</span> баллов Humidex';