Greasy Fork is available in English.

PrimPogoda Humidex

Баллы Humidex для Gismeteo

  1. // ==UserScript==
  2. // @name PrimPogoda Humidex
  3. // @version 2020.10.23
  4. // @description Баллы Humidex для Gismeteo
  5. // @include http*://*primpogoda.ru/*.now
  6. // @icon https://www.google.com/s2/favicons?domain=primpogoda.ru
  7. // @author Rainbow-Spike
  8. // @namespace https://greasyfork.org/users/7568
  9. // @homepage https://greasyfork.org/ru/users/7568-dr-yukon
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. var cells = document.querySelectorAll ( '.forecast .columns' ),
  14. temp = cells [ 4 ].querySelector ( 'p' ).innerHTML.split ( '°' ) [ 0 ].replace ( '+', '' ).replace ( '−', '-' ) * 1,
  15. humd = cells [ 6 ].querySelector ( 'p' ).innerHTML.replace ( '%', '' ) * 1,
  16. humidex = Math.round ( temp + 5 / 9 * ( ( 6.112 * Math.pow ( 10, 7.5 * temp / ( 237.7 + temp ) ) * humd / 100 ) - 10 ) ),
  17. color,
  18. text;
  19.  
  20. function paint ( h ) {
  21. switch ( true ) {
  22. case h <= 0:
  23. color = 'violet';
  24. text = 'Нет дискомфорта';
  25. break;
  26. case h <= 10:
  27. color = 'blue';
  28. text = 'Нет дискомфорта';
  29. break;
  30. case h <= 20:
  31. color = 'darkturquoise';
  32. text = 'Нет дискомфорта';
  33. break;
  34. case h <= 30:
  35. color = 'green';
  36. text = 'Нет дискомфорта';
  37. break;
  38. case h <= 40:
  39. color = 'gold';
  40. text = 'Некоторый дискомфорт';
  41. break;
  42. case h <= 45:
  43. color = 'orange';
  44. text = 'Большой дискомфорт; избегать усилий';
  45. break;
  46. case h < 54:
  47. color = 'red';
  48. text = 'Опасно; возможен тепловой удар';
  49. break;
  50. case h >= 54:
  51. color = 'darkred';
  52. text = 'Опасно; возможен тепловой удар';
  53. break;
  54. default:
  55. color = 'black';
  56. text = '-';
  57. break;
  58. }
  59. }
  60.  
  61. paint ( humidex );
  62. cells [ 5 ].querySelector ( 'p' ).innerHTML = '<span style = "font-weight: bold; color: ' + color + '" title = "' + text + '">' + humidex + '</span> баллов Humidex';