Hallo, als ich gerade im IMDB-Forum herumgesurft bin, kam mir für das µc-Forum folgende Idee: Innerhalb eines Threads sollten Beiträge des TO's besonders gekennzeichnet werden, z.B. in dem sein Name im Autorenfeld fett hervorgehoben wird. Oder man macht es wie auf IMDB, wo der Name in so einem blauen Kasten mit abgerundeten Ecken erscheint. Also ich habe beim Lesen oft das Problem, dass ich nicht weiß ob der TO geantwortet hat ohne wieder nach oben scrollen zu müssen.
Slippin J. schrieb: > als ich gerade im IMDB-Forum herumgesurft bin, kam mir für das µc-Forum > folgende Idee: Innerhalb eines Threads sollten Beiträge des TO's > besonders gekennzeichnet werden, z.B. in dem sein Name im Autorenfeld > fett hervorgehoben wird. Den Vorschlag gab es schon: Beitrag "Markieren des Themenstarters" Wie hier im Forum leider üblich, gab es nie eine Antwort von offizieller Seite.
Das ist mal eine gute Idee! Kann man das bitte realisieren?
Folgende Lösung fände ich praktisch: Per Klick auf den Namen des Autors werden alle Beiträge dieser Person hervorgehoben im Thread. Das kann auch gerne Clientseitig in Javascript ablaufen. Aber eben nicht nur auf den TO beschränkt.
meckerziege schrieb: > Per Klick auf den Namen des Autors werden alle Beiträge dieser Person > hervorgehoben im Thread. Ich habe mal eben einen JavaScript dafür geschrieben. JavaScript ES5:
1 | (function(){ |
2 | var posts = Array.prototype.slice.call(document.getElementsByClassName("post")); |
3 | var last = null; |
4 | posts.forEach(function(post){ |
5 | var name = post.querySelector(".author .name"); |
6 | if(!name) |
7 | return; |
8 | name.addEventListener("click",function(event){ |
9 | if( event.target != name ) |
10 | return; |
11 | var p = post.dataset.userId ? "userId" : "guestName"; |
12 | var pset = posts.filter(function(e){ |
13 | return e.dataset[p] == post.dataset[p]; |
14 | });
|
15 | if( last ){ |
16 | last.forEach(function(post){ |
17 | post.style.outline = "initial"; |
18 | });
|
19 | }
|
20 | pset.forEach(function(post){ |
21 | post.style.outline = "4px dotted #f80"; |
22 | });
|
23 | last = pset; |
24 | });
|
25 | });
|
26 | })();
|
Oder als Bookmarklet:
1 | javascript:void((function(){var posts = Array.prototype.slice.call(document.getElementsByClassName("post"));var last = null;posts.forEach(function(post){var name = post.querySelector(".author .name");if(!name)return;name.addEventListener("click",function(event){if( event.target != name )return;var p = post.dataset.userId ? "userId" : "guestName";var pset = posts.filter(function(e){return e.dataset[p] == post.dataset[p];});if( last ){last.forEach(function(post){post.style.outline = "initial";});}pset.forEach(function(post){post.style.outline = "4px dotted #f80";});last = pset;});});})()) |
Daniel A. schrieb: > Ich habe mal eben einen JavaScript dafür geschrieben. Cool! Habe gerade mal gegoogelt wie man das nutzt. (Tipp für die es auch nicht wissen, z.B. im IE11: Ein vorhandenes Lesezeichen mit rechtsklick auf Eigenschaften und dann in dem Feld URL die einzeilige Version (Bookmarklet) einfügen) War mir neu solche Dinge auf User Seite einfach hinzuzufügen. Jetzt fehlt nur noch, ein nochmaliger klick deaktiviert das Highlighten wieder :-) Leider weis ich nicht wie man das programmiert.
homa schrieb: > Jetzt fehlt nur noch, ein nochmaliger klick deaktiviert das Highlighten wieder JavaScript ES6:
1 | (function(){ |
2 | var posts = Array.prototype.slice.call(document.getElementsByClassName("post")); |
3 | var last = null; |
4 | posts.forEach(function(post){ |
5 | var name = post.querySelector(".author .name"); |
6 | if(!name) |
7 | return; |
8 | name.addEventListener("click",function(event){ |
9 | if( event.target != name ) |
10 | return; |
11 | if( last ){ |
12 | last.forEach(function(post){ |
13 | post.style.outline = "initial"; |
14 | });
|
15 | }
|
16 | var p = post.dataset.userId ? "userId" : "guestName"; |
17 | if( !last || !last.length || post.dataset[p] != last[0].dataset[p] ){ |
18 | var pset = posts.filter(function(e){ |
19 | return e.dataset[p] == post.dataset[p]; |
20 | });
|
21 | pset.forEach(function(post){ |
22 | post.style.outline = "4px dotted #f80"; |
23 | });
|
24 | last = pset; |
25 | }else{ |
26 | last = null; |
27 | }
|
28 | });
|
29 | });
|
30 | })();
|
Bookmarklet:
1 | javascript:void((function(){var posts = Array.prototype.slice.call(document.getElementsByClassName("post"));var last = null;posts.forEach(function(post){var name = post.querySelector(".author .name");if(!name)return;name.addEventListener("click",function(event){if( event.target != name )return;if( last ){last.forEach(function(post){post.style.outline = "initial";});}var p = post.dataset.userId ? "userId" : "guestName";if( !last || !last.length || post.dataset[p] != last[0].dataset[p] ){var pset = posts.filter(function(e){return e.dataset[p] == post.dataset[p];});pset.forEach(function(post){post.style.outline = "4px dotted #f80";});last = pset;}else{last = null;}});});})()) |
Leider nein - klappt nicht. Aber F5 für neu laden hilft auch, wobei dann alle Markierungen weg sind. Ich bin trotzdem begeistert und werde mich mal mit javascript und diesen bookmarklet beschäftigen. Interesse geweckt.
Ich habe leider gerade keinen IE zur hand, eventuell hat dieser mühe mit dem CSS Wert "initial". Man könnte versuchen diesen mit "" oder mit "0 none" zu ersetzen.
So habe das jetzt auch mal im Edge ausprobiert und da klappt es einwandfrei. Danke! Leider braucht man hier ein third party tool da das editieren mit dem Explorer nicht mehr geht. Die Favoriten sind jetzt in einer db gespeichert :-( Ich nutze das Tool hier http://www.emmet-gray.com/Articles/EdgeManage.html
Da ich gerade nützliche Scripts für Violentmonkey/Greasemonkey zusammensuche, hier die entsprechende Version des Scripts.
Die neue kursive Darstellung der Gästenamen mit dem <i> tag fürt dazu, das das Script für diese nicht mehr richtig läuft. Die Zeile:
1 | if( event.target != name ) |
Muss ersetzt werden durch:
1 | |
2 | if( event.target != name && !name.contains(event.target) ) |
Daniel A. schrieb: > Die neue kursive Darstellung der Gästenamen mit dem <i> tag fürt dazu, > das das Script für diese nicht mehr richtig läuft. Wie äußert sich das? Bei mir scheint es noch zu funktionieren.
Micha schrieb: > Daniel A. schrieb: >> Die neue kursive Darstellung der Gästenamen mit dem <i> tag fürt dazu, >> das das Script für diese nicht mehr richtig läuft. > > Wie äußert sich das? Bei mir scheint es noch zu funktionieren. Wenn du auf das "(Gast)" klickst, das geht, aber wenn man auf den kursiven Namen davor klickt, das macht nichts mehr.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.