Torn Crimes Accessibility

readability deluxe

  1. // ==UserScript==
  2. // @name Torn Crimes Accessibility
  3. // @namespace http://mathias.host/
  4. // @version 1.0.0
  5. // @description readability deluxe
  6. // @author Mathiaas [1918010]
  7. // @match https://www.torn.com/loader.php?sid=crimes*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=torn.com
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13. function waitForEl(selector) {
  14. return new Promise(resolve => {
  15. if(document.querySelector(selector)) {
  16. return resolve(document.querySelector(selector));
  17. }
  18.  
  19. const observer = new MutationObserver(mutations => {
  20. if(document.querySelector(selector)) {
  21. resolve(document.querySelector(selector));
  22. observer.disconnect();
  23. }
  24. });
  25.  
  26. observer.observe(document.body, {
  27. childList: true,
  28. subtree: true
  29. });
  30. });
  31. }
  32.  
  33. waitForEl("[class^='crimeOptionSection']").then((el) => {
  34. console.log("Fixing accessibility.. hopefully :-)");
  35. let eventEnter = new Event("mouseenter"), eventLeave = new Event("mouseleave");
  36. let crimes = document.querySelectorAll("[class^='crimeOptionGroup'] [id^='tooltip-trigger-'");
  37. let tooltipPortal = null;
  38. crimes.forEach((e, i) => {
  39. if(e.querySelector("img") === null) {
  40. e.dispatchEvent(eventEnter);
  41. if(tooltipPortal === null)
  42. tooltipPortal = document.querySelector(".ToolTipPortal");
  43. let container = e.parentNode.parentNode.querySelector("[class^='crimeOptionSection']");
  44. container.innerHTML += `<br />${tooltipPortal.innerText}`;
  45. e.dispatchEvent(eventLeave);
  46. }
  47. });
  48. });
  49. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址