Matthias Apsel: HTML maskieren in JavaScript - Kontextwechsel

Hallo alle,

ich verwende in diesem Forum unter anderem folgendes JavaScript (Jquery) um Autor und Titel des ersten Threads anzeigen zu lassen. (Ich lasse immer zum ersten ungelesenen Beitrag scrollen und dann ist allermeistens der Threadtitel weg.)

var subject = matched.parents('.thread').find('h2 > a').text(),
    author = matched.parents('.thread').find('.author [aria-hidden="true"]').first().text(),
    answers = matched.parents('.thread').find('ol').first();
    if(matched.parents('.thread').find('header').siblings().size() > 0) {
        matched.append('<strong class="info">'+author+', '+subject+'</strong>');
        answers.addClass('mapseltop');
    }

Das funktioniert auch. Das Problem ist beim textarea-thread aufgefallen:

author = "RavenPixel"
subject = "Problem das <textarea> usw."

angehängt wird: <strong class="info">RavenPixel, Problem das <textarea> usw.</strong>

Und die/manche(?) Browser rendern brav ein textarea-Element.

Wie umgehe ich das am geschicktesten?

Bis demnächst
Matthias

--
Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.

akzeptierte Antworten

  1. Tach!

    Und die/manche(?) Browser rendern brav ein textarea-Element.

    Du fügst Text in HTML ein. Da gelten die HTML-Maskierungsvorschriften.

    Wie umgehe ich das am geschicktesten?

    String-Ersetzung von < zu &lt; oder

    matched.append($('<strong class="info">').text(author+', '+subject));
    

    dedlfix.

    1. Hallo dedlfix,

      Wie umgehe ich das am geschicktesten?

      String-Ersetzung von < zu &lt; oder

      Das hätte ich selbst gewusst, fällt aber bei mir nicht unter die Kategorie „besonders geschickt“

      matched.append($('<strong class="info">').text(author+', '+subject));
      

      Daran hätte ich nicht gedacht. Danke.

      Bis demnächst
      Matthias

      --
      Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
      1. Tach!

        Wie umgehe ich das am geschicktesten?

        String-Ersetzung von < zu &lt; oder

        Das hätte ich selbst gewusst, fällt aber bei mir nicht unter die Kategorie „besonders geschickt“

        Muss es auch nicht. Mehr als einfache Stringersetzung ist Maskieren ja nicht.

        dedlfix.

      2. Hallo Matthias,

        Wie umgehe ich das am geschicktesten?

        String-Ersetzung von < zu &lt; oder

        Das hätte ich selbst gewusst, fällt aber bei mir nicht unter die Kategorie „besonders geschickt“

        Das maskieren von < und " ist gängige Vorgehensweise. Kann man ruhig machen. Ich hätte allerdings auch @dedlfix Variante genommen.

        LG,
        CK