NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name noMyTT2 // @namespace http://tampermonkey.net/ // @version 1.0 // @description verhindert die Weiterleitung von click-tt zu myTischtennis. // @author Nichtraucher // @match https://addons.mozilla.org/en-US/firefox/addon/nomytt/ // @license CC-BY-SA-3.0; http://creativecommons.org/licenses/by-sa/3.0/ // @license MIT // @copyright // @grant none // ==/UserScript== function substspecial(name) { switch (name) { case "byttv": return "bttv"; case "hettv": return "httv"; case "sbttv": case "battv": return "ttvbw"; default: return name; } } function substsubject(id, subject, range) { if (subject.endsWith("/mannschaften/")) { return "clubTeams" + range; } else if (subject.endsWith("/mannschaftsmeldungen/")) { return "clubPools" + range; } else { return "groupPage" + range + "&group=" + id; } } function replacer(match, p1, p2, offset, string) { return p2 === undefined ? "+" + p1 : "+" + p1 + p2.toLowerCase(); } function rellink(components, range) { return "/cgi-bin/WebObjects/nuLigaTTDE.woa/wa/" + substsubject(components[2], components[3], range.replace(/dttb/i, components[1].replace(/ ([^-]+)(?:-(.*))?/, replacer))); } function main() { var myTTLinks = document.getElementsByTagName("a"); var metas = document.getElementsByTagName("meta"); for (var i = 0; i < metas.length; i++) { if (metas[i].getAttribute("name") == "nuLigaStatsUrl") { var content = metas[i].getAttribute("content"); var idx = content.indexOf("?"); if (idx >= 0) { var range = content.substring(idx); } else { for (var j = 0; j < myTTLinks.length; j++) { if (myTTLinks[j].textContent === "Regionsspielplan") { var region = myTTLinks[j].getAttribute("href"); idx = region.indexOf("?"); if (idx >= 0) { var range = region.substring(idx); break; } else { return; } } } } break; } } var pattern = new RegExp("^https://www\.mytischtennis\.de/clicktt/([^/]+)/.+?/(?:gruppe|verein)/([^/]+)/(.*)"); for (var i = 0; i < myTTLinks.length; i++) { var match = myTTLinks[i].getAttribute("href").match(pattern); if (match) { myTTLinks[i].removeAttribute("target"); myTTLinks[i].setAttribute("href", match[1].indexOf(" ") >= 0 ? rellink(match, range) : "https://" + substspecial(match[1].toLowerCase()) + ".click-tt.de/cgi-bin/WebObjects/nuLigaTTDE.woa/wa/" + substsubject(match[2], match[3], range)); } } } main();