Ergebnis 1 bis 21 von 21

Thema: Elementtyp: HTML konvertiert "<" zu "&lt;"

  1. #1
    Contao-Nutzer
    Registriert seit
    25.12.2011.
    Beiträge
    77

    Standard Elementtyp: HTML konvertiert "<" zu "&lt;"

    Hallo Contao-Freunde,

    bei mir taucht folgendes Problem auf:

    In einem Artikel benutze ich das Inhaltselement "HTML", um eine Javascript-Funktion aufzurufen. Alles funktioniert wunderbar, wäre da nicht ein kleines Problem:

    Ich tippe z. B. ein (Ausschnitt):
    Code:
    if (i < 4) {...}
    und drücke auf speichern und schließen.

    Anschließend betrachte ich das Inhaltselement, in dem ich im Artikel auf "Bereich öffnen" (das ist dieser dicke grüne Pfeil, der nach unten zeigt) klicke.

    Dort steht dann:
    Code:
    if (i &lt; 4) {...}
    Der Javascript-Code funktioniert dann natürlich nicht.

    Wie kann ich verhindern, dass "<" zu "&lt;" wird?

    Hinweis: Früher ist das Problem bei mir nicht aufgetaucht, erst nach irgendeinem Update im vergangenen Jahr.

    Ich bin auf eure Lösungen gespannt und verbleibe mit besten Grüßen,
    Troy

  2. #2
    Contao-Fan
    Registriert seit
    20.10.2012.
    Ort
    Berlin
    Beiträge
    261

    Standard

    Prinzipiell ist das nicht die günstigste Stelle um Javascript unterzubringen.
    Wer will schon, dass sich Redakteure daran zu schaffen machen?
    Ich mach das meistens so:
    Html Element mit dem Inhalt {{file::tplfolder/my_js_snippet.html5}}

    in der Datei tplfolder/my_js_snippet.html5 kannst du dein Script dann unterbringen und sofern notwendig auch php verwenden um z.B dein script in den head oder am Ende der Seite zu laden.

    Beim von dir beschriebene Phänomen würde ich überprüfen ob in den Einstellungen das script-tag überhaupt unter den erlaubten tags ist - nur so eine Vermutung - Standard ist das nämlich nicht.

  3. #3
    Contao-Nutzer
    Registriert seit
    25.12.2011.
    Beiträge
    77

    Standard

    Das script-Tag habe ich erlaubt. Daran liegt es leider nicht.

  4. #4
    Contao-Fan
    Registriert seit
    20.10.2012.
    Ort
    Berlin
    Beiträge
    261

    Standard

    sehr witzig - ich habs gerade versucht zu reproduzieren... und es ist mir auch gelungen.
    wie gesagt, ich bin immernoch der Meinung, dass es generell ungünstig ist so vor zu gehen aber wenn du
    anstatt (i < 4) (4 > i) verwendest gehts.
    Vielleicht ist das auch ein Fall für ein Ticket...

  5. #5
    Contao-Nutzer
    Registriert seit
    25.12.2011.
    Beiträge
    77

    Standard

    Danke für deine Mühe, Andre.

    (4 > i) scheint wirklich ein Workaround zu sein.

    Dass es ungünstig ist, Javascript als Inhaltselement einzubinden, stelle ich gar nicht in Frage. In meinem Fall ist es aber einfach bequemer. Mit dieser Vorgehensweise hatte ich jahrelang keine Schwierigkeiten. Erst seit kurzer Zeit hat Contao sein Verhalten (mir gegenüber) geändert

  6. #6
    Gesperrt
    Registriert seit
    07.05.2011.
    Beiträge
    1.199

    Standard

    Zitat Zitat von Troy Beitrag anzeigen
    ... Erst seit kurzer Zeit hat Contao sein Verhalten (mir gegenüber) geändert
    Na ja, das halte ich für relativ unwahrscheinlich. Ich bin seit Anfang 2011 mit Contao zugange, damals mit Cto 2.9, und auch da bestand dieses kleine Problem bereits. Oder ich hatte es womöglich bloß geträumt. Jedenfalls erstellte ich seinerzeit kein Ticket bzw. dachte, das wär nicht unbedingt ein Bug und hätte wohl bestimmt einen wichtigen Grund. Man möchte sich als Community-Neuling ja nicht unbedingt gleich peinlich blamieren.

    Okay, und mal angenommen, Contao hätte eine Seele, dann doch bestimmt eine gute, oder? Sooo fies, sein Verhalten nur Dir gegenüber zu ändern, tzzz tzz. Oder warst Du vielleicht ungezogen?

  7. #7
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Der allwissende Spooky vermutet einen Bug.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  8. #8
    Gesperrt
    Registriert seit
    07.05.2011.
    Beiträge
    1.199

    Standard

    Hmmh, Spooky "wohnt" ja auch im Forum. Ja, in einem anderen Thread, wo der TE auf dies bekannte Problem auflief, wenn man in ein HTML-Modul JS-Code reinbastelt. Ich schätze das eigentlich ebenfalls als Bug ein. Richtig ist natürlich ebenso, es ist tatsächlich nicht der beste Ort zur Platzierung von JS-Code und das Problemchen außerdem sehr leicht zu umgehen - was allerdings speziell Contao-Einsteiger nicht unbedingt sofort wissen.

  9. #9
    Contao-Nutzer
    Registriert seit
    25.12.2011.
    Beiträge
    77

    Standard

    @ soweit_ok

    Ich kann dir versichern, dass dieses Problem (zumindest bei mir) zwischen Sommer 2013 und (ungefähr) Sommer 2015 nicht bestand. Ich habe in dieser Zeit täglich ohne Probleme html-Inhaltselemente mit js-Code geschrieben und bearbeitet. Dann kam ein Update und das sorgenfreie Leben war zu Ende.

    Auch witzig: Der js-Code, den ich damals geschrieben habe, funktioniert heute immer noch. Erst wenn ich das Inhaltselement öffne, wo der alte Code drinsteht, und auf "Speichern" drücke, geht der js-Code nicht mehr - dazu muss ich nicht einmal etwas am Code ändern. Durch "Speichern" wird also der alte funktionierende Code durch den neuen nicht funktionierenden Code ersetzt.

    Könnte eventuell jemand von euch ein Ticket erstellen? Ich selbst habe (noch) keinen GitHub-Account (Schande über mein Haupt!).

  10. #10
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.340
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

  11. #11
    Gesperrt
    Registriert seit
    07.05.2011.
    Beiträge
    1.199

    Standard

    Da in dem Ticket der Patch für Cto. 3.5.9 angepeilt ist, nützt es freilich nichts, wenn man 3.5.6 einsetzt. Wenn es also als Bug eingestuft wird, würde es nicht Sinn machen, ihn auch in der akt. LTS-Version zu fixen?

  12. #12
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.949

    Standard

    LTS ist doch 3.5, also sowohl 3.5.6 als auch 3.5.9.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  13. #13
    Gesperrt
    Registriert seit
    07.05.2011.
    Beiträge
    1.199

    Standard

    Achso. Komisch, darauf bin ich noch garnicht gekommen, sollte vllt. beim Angucken des Releaseplans doch mal ein paar Sekündchen länger verweilen. Danke!

  14. #14
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.392
    Partner-ID
    10107

    Standard

    Leo Feyer sieht es leider nicht mehr als Bug.

  15. #15
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.089
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich sehe das auch unbedingt als einen Bug an. Dabei sei es mal dahingestellt, ob es geschickt oder erwünscht ist, Javascript in einem HTML-Element einzufügen. Aber, wie auch immer das entschieden wird, sollte es doch wenigstens konsistent sein. Also entweder <script> grundsätzlich nicht erlaubt im HTML-Element und dann auch nicht aktivierbar, oder erlaubt bzw aktivierbar und es funktioniert dann auch, wenn das Script korrekt ist. Es kann doch nicht sein, dass das <script>-Tag benutzt werden kann und ein korrektes Script dann kaputtgefiltert wird. Und zudem noch, dass durch eine einfache Umstellung des Vergleichs alles funktioniert, obwohl es ja immer noch unerwünschtes Javascript ist. An der generellen Bewertung dieser Vorgehensweise, also Einfügen von Javascript in HTML-Elemente, ändert sich ja durch die Umstellung des Scripts nichts.

    Wie man es auch dreht und wendet, entweder ist es ein Bug, dass das ursprüngliche Script nicht funktioniert, oder es ist ein Bug, dass das umgestellte Script funktioniert. Generell wäre ich Leo's Meinung, dass Javascript da nicht rein gehört. Allerdings werden vermutlich viele Installationen nach einem entsprechenden Bugfix nicht mehr funktionieren. Deswegen wäre ich eher dafür, den Fix in die andere Richtung zu machen, so dass beide Versionen funktionieren, soweit technisch ohne allzu große Klimmzüge machbar. Und dann meinetwegen in 4.2 das <script>-Tag grundsätzlich im HTML-Element nicht mehr zuzulassen.

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.392
    Partner-ID
    10107

    Standard

    Das solltest du ins Ticket posten, nicht (nur) hier

  17. #17
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.089
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Schon erledigt ...

  18. #18
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Vielleicht sollte man das Leo nicht als Bug verkaufen, sondern als Feature anbieten: "In Inhaltselementen bei Benutzung des SCRIPT-Tags JavaScript ermöglichen."
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  19. #19
    Contao-Fan Avatar von tpk
    Registriert seit
    25.02.2011.
    Ort
    48369 Saerbeck
    Beiträge
    832

    Standard

    Ich hab hier ein 3.5.17 am Start und im html CE übersteht das <script> tag es nicht, wie oben beschrieben. Was muss man in die dcaconfig schreiben, damit das funktioniert?

  20. #20
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.559
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von tpk Beitrag anzeigen
    Was muss man in die dcaconfig schreiben, damit das funktioniert?
    Hast Du das schon probiert?

    system/config/dcaconfig.php:
    PHP-Code:
    <?php

    $GLOBALS
    ['TL_DCA']['tl_content']['fields']['html']['eval']['preserveTags'] = true;
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  21. #21
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du hast das "<script>" hinzugefügt und es funzt nicht?
    Code:
    <script><a><abbr>...
    Oder wird deine Änderung von "Erlaubte HTML-Tags" nicht gespeichert?
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •