-
21. 12. 2008, 01:11 #1
Threadstarter in einer eigenen Spalte in der Threadübersicht
Auf Wunsch von thom...
Die Variable `delete_old` dient der Konfiguration; wird sie auf false gesetzt, wird der `alte` Hinweis auf den TS direkt unter der Threadüberschrift nicht entfernt.
Screenshots:Code:var delete_old = true; var tds = document.getElementsByTagName("td"); var opera_dom = (window.opera); for(var i=0; i<tds.length; i++) { if(tds[i].firstChild && tds[i].firstChild.src && tds[i].firstChild.src.match(/statusicon\/announcement/)) { if(opera_dom) tds[i].nextSibling.colSpan++; else tds[i].nextSibling.nextSibling.colSpan++; } if(tds[i].className=='tcat' && tds[i].colSpan>6) tds[i].colSpan++; if(tds[i].className=='thead' && tds[i].colSpan==2) { var t_head; if(opera_dom) t_head = tds[i].nextSibling; else t_head = tds[i].nextSibling.nextSibling; if(t_head == null) continue; var links; if(t_head.innerHTML == 'Thema / Erstellt von') links = t_head.innerHTML.match(/(.*?) \/ (.*)/); else links = t_head.innerHTML.match(/([\s\S]*?) \/[\s\S]*?(<a [\s\S]*<\/a>)/i); if(!links) continue; t_head.innerHTML = links[1]; var new_td = document.createElement("td"); new_td.className = 'thead'; new_td.innerHTML = links[2]; t_head.parentNode.insertBefore(new_td,t_head.nextSibling); } if(tds[i].id.match(/td_title_\d+/)) { var creatordiv = tds[i].getElementsByTagName("div")[1]; var creator = creatordiv.innerHTML.match(/<a[\s\S]*?<\/a>/i); if(creator) creator = creator[0]; else { creator = creatordiv.firstChild.data; } var new_td = document.createElement("td"); new_td.className = 'alt1'; new_td.innerHTML = creator; if(new_td.firstChild.style) { new_td.firstChild.style.color = ''; new_td.firstChild.style.textDecoration = ''; } tds[i].parentNode.insertBefore(new_td,tds[i].nextSibling); if(delete_old) { if(new_td.firstChild.style) creatordiv.innerHTML = creatordiv.innerHTML.replace(/<a[\s\S]*?<\/a>/i,""); else creatordiv.removeChild(creatordiv.firstChild); creatordiv.innerHTML = creatordiv.innerHTML.replace(/>, /,">"); } } var ats = tds[i].getElementsByTagName("a"); if(ats.length > 1 && ats[1].href.match(/\/postings\.php\?do=editthread/)) { var creatorspan = ats[1].parentNode.nextSibling; if(!opera_dom) creatorspan = creatorspan.nextSibling; var link = creatorspan.getAttribute("onclick").match(/window\.open\('(.*?)'\)/)[1]; var name = creatorspan.innerHTML; var new_td = document.createElement("td"); new_td.className = 'alt1'; new_td.innerHTML = '<a href="'+link+'">'+name+'</a>'; tds[i].parentNode.insertBefore(new_td,tds[i].nextSibling); if(delete_old) creatorspan.parentNode.removeChild(creatorspan); } }

Für diesen Beitrag bedanken sich Phil94, movsky, GrafZahl_, thom53281Geändert von Jonny (28. 06. 2010 um 16:12 Uhr) Grund: Titelanpassung.
-
21. 12. 2008, 11:00 #2
Im Firefox funktioniert das bei mir schon recht gut, aber da gibt es leider noch ein kleines Problem mit gelöschten Usern.
Spoiler:
In Opera passiert leider bisher noch gar nichts. Ich find da aber gerade auch keinen Fehler.
Aber trotzdem schonmal danke dafür. Das ist schon tausendmal besser als meine eigenen Versuche.
-
21. 12. 2008, 13:55 #3
So, die Fehler und Unschönheiten sollten behoben sein.
-
21. 12. 2008, 14:03 #4
Ah, wunderbar. Jetzt geht es. Danke.

Edit: Kann man das auch noch irgendwie im Kontrollzentrum anwenden?
Geändert von thom53281 (21. 12. 2008 um 14:10 Uhr)
-
21. 12. 2008, 18:03 #5
Ja, die nötige Änderung ist drin.
-
21. 12. 2008, 19:04 #6
Ich weiß, das kann mit der Zeit nerven, aber wenn du die Änderung jetzt auch noch im Opera lauffähig kriegst, wär ich vollkommen glücklich.

-
21. 12. 2008, 20:31 #7
-
21. 12. 2008, 20:38 #8
-
28. 12. 2008, 01:38 #9
Re: [JS: Classic/Corporate] Threadstarter in einer eigenen Spalte in der Threadübersicht
Bei gelöschten Threads wird der TS weiterhin auf die herkömmliche Weise angezeigt, was zu folgendem Resultat führt:

(Titel und TS aus verständlichen Gründen unkenntlich gemacht.)
Mir war neulich noch ein zweiter Bug aufgefallen, nur finde ich den im Moment nicht und kann mich auch nicht dran erinnern, unter welchen Umständen er auftritt.
MfG
GrafZahl
-
28. 12. 2008, 02:56 #10
Ja, das habe ich mangels Testcase (den ich mir nun selbst erzeugt habe) nicht getestet. Es sollte nun funktionieren, auch wenn ich das komplett separat abfangen musste.Zitat von GrafZahl_
Bei gelöschten Threads wird der TS weiterhin auf die herkömmliche Weise angezeigt
Wenn dir sonst noch etwas reproduzierbares auffällt, lass es mich wissen.
-
04. 01. 2009, 15:15 #11
-
04. 01. 2009, 16:21 #12
@GrafZahl_: Problem behoben.
-




mehr lesen...







Die XBOX ONE, Microsofts großer...
Gestern, 23:00 in gulli:news