Greasy Fork is available in English.

°F+°C Weather - google

Shows the current °F and °C weather temperature at the same time on google.

От 15.08.2022. Виж последната версия.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         °F+°C Weather - google
// @namespace    https://greasyfork.org/en/users/670188-hacker09?sort=daily_installs
// @version      7
// @description  Shows the current °F and °C weather temperature at the same time on google.
// @author       hacker09
// @include      *://www.google.*
// @icon         https://t3.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=http://www.google.com&size=64
// @run-at       document-end
// @grant        none
// @noframes
// ==/UserScript==

(function() {
  'use strict';
  var CorF; //Create a global variable

  if (document.querySelector("div.vk_bk.wob-unit > span,div.wob_uctr > span").innerText === '°F') //If the current temperature is in °F
  { //Starts the if condition
    CorF = '°F'; //Page was loaded in °F
  } //Finishes the if condition

  async function ShowCF() {
    var c = document.getElementById('wob_tm').innerText; //Save the current temperature value
    var f = document.getElementById('wob_ttm').innerText; //Save the hidden temperature value

    navigator.userAgent.match('Mobile') !== null ? document.querySelector("div.wob_tctr").style.display = 'none' : ''; //Hide the big text temperature
    navigator.userAgent.match('Mobile') !== null ? document.querySelector("div.wob_uctr").style.fontSize = '47px' : ''; //Increase the script custom text font size
    navigator.userAgent.match('Mobile') !== null ? document.querySelectorAll("div.wob_uctr > span").forEach(el => el.style.color = 'white') : ''; //Make the script temperature white

    if (CorF === '°F') //If the current temperature is in °F
    { //Starts the if condition
      navigator.userAgent.match('Mobile') !== null ? '' : document.querySelector("div.vk_bk.TylWce.SGNhVe").innerText = c + '°F ' + f + '°C'; //Show °F °C
      document.querySelectorAll("div.wob_uctr > .wob_t:nth-child(1),div.wob_uctr > .wob_t:nth-child(2)").forEach(el => el.innerText = c + '°F'); //Show °F
      document.querySelectorAll("div.wob_uctr > .wob_t:nth-child(4),div.wob_uctr > .wob_t:nth-child(5)").forEach(el => el.innerText = f + '°C'); //Show °C
    } //Finishes the if condition
    else //If the current temperature is in °C
    { //Starts the else condition
      navigator.userAgent.match('Mobile') !== null ? '' : document.querySelector("div.vk_bk.TylWce.SGNhVe").innerText = c + '°C ' + f + '°F'; //Show °C °F
      document.querySelectorAll("div.wob_uctr > .wob_t:nth-child(1),div.wob_uctr > .wob_t:nth-child(2)").forEach(el => el.innerText = c + '°C'); //Show °C
      document.querySelectorAll("div.wob_uctr > .wob_t:nth-child(4),div.wob_uctr > .wob_t:nth-child(5)").forEach(el => el.innerText = f + '°F'); //Show °F
    } //Finishes the else condition
  }

  ShowCF(); //Calls the ShowCF function

  if (navigator.userAgent.match('Mobile') !== null) //If the embedded video is being played on a mobile device
  { //Starts the if condition
    new MutationObserver(async function() { //Whe the weather bar is scrolled
      await ShowCF(); //Calls the ShowCF function
    }).observe(document.querySelector("#wob_sh"), { //Defines the element and the characteristics to be observed
      attributes: true,
      attributeOldValue: true,
      characterData: true,
      characterDataOldValue: true,
      childList: true,
      subtree: true
    }); //Finishes the definitions to be observed
  } //Finishes the if condition
})();