您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replace betting odds with chances calculated by the odds
// ==UserScript== // @name Sofascore Chances // @namespace https://greasyfork.org/users/21515 // @version 0.1.1 // @description Replace betting odds with chances calculated by the odds // @author CennoxX // @homepage https://twitter.com/CennoxX // @match https://www.sofascore.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=sofascore.com // @license MIT // @grant none // ==/UserScript== /* jshint esversion: 11 */ (function() { "use strict"; var getChance = (odds, all) => Math.round((1 / odds) / all * 100 ) + " %"; var getNodeValue = (node) => Number(node.innerHTML); setInterval(()=>{ [...document.querySelectorAll('[data-testid="event_time"],[data-testid="odds_market_name"]')].map(i => i.closest("a") ?? i.closest(".pos_relative")).forEach(i=>{ var homeNode = i.querySelector(".Box a:nth-child(2) > div > div > span") ?? i.querySelector("div:nth-child(2) > a:nth-child(1) > div > span"); var tieNode = i.querySelector(".Box a:nth-child(3) > div > div > span") ?? i.querySelector("div:nth-child(2) > a:nth-child(2) > div > span"); var awayNode = i.querySelector(".Box a:nth-child(4) > div > div > span") ?? i.querySelector("div:nth-child(2) > a:nth-child(3) > div > span"); if (!homeNode || !tieNode || !awayNode || homeNode.innerHTML.includes("%")) return; var home = getNodeValue(homeNode); var tie = getNodeValue(tieNode); var away = getNodeValue(awayNode); var all = 1 / home + 1 / tie + 1 / away; homeNode.innerHTML = getChance(home, all); tieNode.innerHTML = getChance(tie, all); awayNode.innerHTML = getChance(away, all); }); },500); })();