mikrocontroller.net

Forum: www.mikrocontroller.net Beiträge des TO's im Thread hervorheben


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Slippin J. (gustavo_f)


Bewertung
10 lesenswert
nicht lesenswert
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.

von Mark B. (markbrandis)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Applaus (Gast)


Bewertung
8 lesenswert
nicht lesenswert
Das ist mal eine gute Idee! Kann man das bitte realisieren?

von meckerziege (Gast)


Bewertung
1 lesenswert
nicht lesenswert
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.

von Holger L. (max5v)


Bewertung
-3 lesenswert
nicht lesenswert
Hier ist so ein Script:
Beitrag "User ausblenden"

von Daniel A. (daniel-a)


Bewertung
3 lesenswert
nicht lesenswert
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:
(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;
    });
  });
})();

Oder als Bookmarklet:
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;});});})())

von homa (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Daniel A. (daniel-a)


Bewertung
0 lesenswert
nicht lesenswert
homa schrieb:
> Jetzt fehlt nur noch, ein nochmaliger klick deaktiviert das Highlighten wieder

JavaScript ES6:
(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;
      }
    });
  });
})();

Bookmarklet:
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;}});});})())

von homa (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Daniel A. (daniel-a)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Matthias H. (homa)


Bewertung
0 lesenswert
nicht lesenswert
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

von Micha (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Da ich gerade nützliche Scripts für Violentmonkey/Greasemonkey
zusammensuche, hier die entsprechende Version des Scripts.

von Daniel A. (daniel-a)


Bewertung
1 lesenswert
nicht lesenswert
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:
if( event.target != name )
Muss ersetzt werden durch:
  
if( event.target != name && !name.contains(event.target) )

von Micha (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von DPA (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.