000 *NEU*
21.11.2011, 14:06 Uhr
bennokue
Giuseppe der Schöngeist Bürstenkaiser
Beiträge: 4229 Dabei seit: 02.04.2005, 14:57 Uhr |
Sodala, nachdem ich mein Greasemonkey-Skript für den Klomanager nun erweitert habe, stelle ich euch hier die aktuelle Version zur Verfügung.
Nachdem es jetzt auch im Firefox die j*a*v*a*s*c*r*i*p*t-Funktion getElementsByClassName gibt, muss ich auch nicht mehr auf den Code-Schnipsel zurückgreifen, den ich in diesem Thread benutzt habe.
Das ganze ist eine Weiterentwicklung meines alten Skripts, ich mache aber trotzdem einen Thread mit passenderem Titel auf, denn das Skript tut inzwischen mehr als nur einfärben.
Was tut es? â?? Es färbt in der Rangliste alle inaktiven Spieler (die mit dem "(i)") rot ein. â?? Es wandelt in der Rangliste alle Spielernamen zu klickbaren Links, die zur Spielersuche führen, wo man dann sehen kann, welches Spiel sie grad spielen â?? Auf der Seite "Mein Spiel" oder jeder anderen Spiel-Ã?bersichts-Seite wandelt es die Links um: Die Links auf den Spielernamen, die bis jetzt die Nachrichtenfunktion aufriefen, rufen nun auch die Spielersuche auf (z.B. zum Punktestand nachschauen, oder ob der Spieler (i) ist â?? letzteres wird in der Spielansicht nämlich nicht angezeigt! Für die, die doch eine Nachricht schicken wollen, wird ein Briefchensymbol eingefügt.
Wer es haben möchte: Ihr benötigt den Firefox und das Add-On Greasemonkey. Und wenn ihr zudem noch Hilfe braucht, stellt eure Fragen einfach hier.
Das Skript: format_source('// ==UserScript== // @name KMO // @namespace bennokue // @description // @include http://www.isengard.at/km/ // ==/UserScript==
function skriptHinweis() { // Hinweistext ganz unten einfügen centertexte = document.getElementsByTagName("center"); for (bb=0;bb<centertexte.length;bb++) { if(centertexte[bb].innerHTML.search("und des Inhaltes liegen bei Anvil-Soft.")!=-1) { centertexte[bb].innerHTML = centertexte[bb].innerHTML.replace("und des Inhaltes liegen bei Anvil-Soft.", "und des Inhaltes liegen bei Anvil-Soft.<br /><br /><strong>Achtung:</strong> Der Inhalt dieser Seite wurde vom bennokue-Greasemonkey-Skript verändert.<br />Weitere Informationen im <a href=\"http://forum.phobetor.de/showtopic.php?threadid=1219\" target=\"_blank\" title=\"Ruft den Thread zum Skript im Klomanager-Forum auf\">zugehörigen Thread im offiziellen Klomanager-Forum</a>."); centertexte[bb].style.paddingTop = "10px"; centertexte[bb].style.paddingBottom = "20px"; break; } } }
// Anpassungen fuer Rangliste if (window.location.href.search("mainframe=rangliste")!=-1) { var tablebs = document.getElementsByClassName("tableb"); var zeilen = tablebs[1].getElementsByTagName("tr");
for(ii=1;ii<zeilen.length;ii++) { // Spielernamen in Links wandeln -- erstmal von den (i)s befreien var spielername = zeilen[ii].getElementsByTagName("td")[1].innerHTML; var spielernameNetto = spielername.replace(" (i)", ""); // Spielernamen in Links wandeln -- Die lightgreen-Tags bringen alles durcheinander, aber nur einmal if(spielername.search("<font color=\"lightgreen\">")!=-1) { spielernameNetto = spielernameNetto.replace("<font color=\"lightgreen\">", "").replace("</font>", ""); } // Spielernamen in Links wandeln -- HTML ersetzen zeilen[ii].getElementsByTagName("td")[1].innerHTML = "<a href=\"index.php?mainframe=spielersuche&search=" + spielernameNetto + "\" title=\"Nach " + spielernameNetto + " suchen\" target=\"_blank\">" + spielername + "</a>"; // Setzt bei inaktiven Spielern die inaktiv-Klasse if(zeilen[ii].innerHTML.search(/\(i\)/)!=-1) { var zellen = zeilen[ii].getElementsByTagName("td"); for(j=0; j<zellen.length; j++) { zellen[j].className += " inaktiverSpieler"; } } } // Malt (nun link-graue) Spielernamen wieder weiÃ? an GM_addStyle(".tdb a { color: #FFFFFF}"); // Malt inaktive Spieler (auch die nun verlinkten) rot an GM_addStyle(".inaktiverSpieler { color: red}"); GM_addStyle(".inaktiverSpieler a { color: red}"); skriptHinweis(); }
// Anpassungen fuer Spielansicht if (window.location.href.search("mainframe=raumauswahl&action=show")!=-1) { var zellen = document.getElementsByClassName("tdb"); var zaehler = 0; // Colspan der Uerberschrift "Aktive Spieler" auf 3 Spalten dehnen while(zaehler<zellen.length) { if(zellen[zaehler].innerHTML.search("Aktive Spieler")!=-1) { zellen[zaehler].attributes.colspan.value = "3"; zaehler++; break; } zaehler++; } // Spielerlinks zu Such-Links umbauen, Nachrichtenbutton als neue Zelle einfuegen while(zaehler<zellen.length) { if(zellen[zaehler].innerHTML.search("Spieler ")!=-1) { var aktuelleZeile = zellen[zaehler].parentNode; // Bin ich es, oder bin ich es nicht? if(aktuelleZeile.innerHTML.search("<font color=\"lightgreen\">")!=-1) { // Ich bin es! --> Nur neue (leere) Zelle einfuegen aktuelleZeile.innerHTML = aktuelleZeile.innerHTML + "<td class=\"tdb\"> </td>"; } else { // Ich bin es nicht! --> Link umbauen + neue Zelle mit Briefchensymbol anfuegen var spielername = zellen[zaehler+1].getElementsByTagName("a")[0].innerHTML; zellen[zaehler+1].innerHTML = zellen[zaehler+1].innerHTML.replace("href=\"index.php?mainframe=nachrichten&empf=", "target=\"_blank\" title=\"Suche nach " + spielername + "!\" href=\"index.php?mainframe=spielersuche&search="); aktuelleZeile.innerHTML = aktuelleZeile.innerHTML + "<td class=\"tdb\"><a title=\"Schicke xyz eine Klomanager-Nachricht!\" href=\"index.php?mainframe=nachrichten&empf=" + spielername + "\"><img src=\"images/mail.gif\" width=\"14\" height=\"10\" title=\"Schicke " + spielername + " eine Klomanager-Nachricht!\" alt=\"Schicke " + spielername + " eine Klomanager-Nachricht!\" /></a></td>"; } } zaehler++; } skriptHinweis(); }') ----- Wer einen Beitrag von mir liest möge ihn nicht persönlich nehmen! Zwischen "rechthaben" und "Recht haben" liegen Welten... (bennokue - Vielredner "Es hat mich gefreut, mit Ihnen zu reden!") KloMO: bennokue | Ranglistenbeobachtung Dieser Beitrag wurde am 21.11.2011 um 14:08 Uhr von bennokue verändert |