Improve Emp Mouseovers

Preload images and expand tooltip mouseover area

Terá de instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Terá de instalar uma extensão como Tampermonkey para instalar este script.

Terá de instalar uma extensão de gestão de scripts de utilizador para instalar este script.

(Já tenho um gestor de scripts de utilizador, deixe-me instalá-lo!)

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

(Já tenho um gestor de estilos de utilizador, deixe-me instalá-lo!)

// ==UserScript==
// @name         Improve Emp Mouseovers
// @namespace    https://greasyfork.org/users/241444
// @version      1.0.0
// @description  Preload images and expand tooltip mouseover area
// @author       salad: https://greasyfork.org/en/users/241444-salad
// @include      https://www.empornium.me/torrents.php*
// @grant        none
// @run-at      document-idle
// ==/UserScript==

(function() {
const links = document.querySelectorAll('a[onmouseover][onmouseout]');
links.forEach(e => {
  // fire mouseovers to trigger loading the thumbnail
  e.onmouseover();
  // grab the thumbnail sand create an img tag with it
  const thumbnail = document.querySelector('#overDiv img');
  if(thumbnail && thumbnail.src) {
    const imgEl = new Image(); 
    imgEl.src = thumbnail.src
  }
  e.onmouseout();
  
  // bind mouseover events to the parent row instead of just the link
  const parentRow = e.closest('tr.torrent');
  parentRow.onmouseover = e.onmouseover;
  parentRow.onmouseout = e.onmouseout;
});

})();