Ergebnis 1 bis 10 von 10

Thema: HTML-Element speichert Tags im rel-Attribut nicht

  1. #1
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    681

    Standard HTML-Element speichert Tags im rel-Attribut nicht

    Hallo zusammen,

    wenn ich wie hier beschrieben ein HTML-Element mit folgendem Inhalt anlege:

    HTML-Code:
    <a class="tooltip" title="Vergrößerte Darstellung der Seiteninhalte in Ihrem Webbrowser?" rel="Ist Ihnen die Darstellung des Inhaltes auf dieser Seite zu klein, dann können Sie in aktuellen Browsern (Firefox 3.6, Chrome, Safari, Opera, Internet Explorer ab Version 8) eine Vergrößerung durch folgende Tastenkombinationen erreichen:<br >
    <strong>STRG +</strong> (Vergrößern)<br />
    <strong>STRG -</strong> (Verkleinern)<br />
    <strong>STRG 0</strong> (Null – wieder auf Standard zurücksetzen)<br /><br >
    Die Kombination von gedrückter STRG-Taste und dem Bewegen des Scrollrads der Maus vergrößert oder verkleinert ebenso die Darstellungsgröße einer Website im Browserfenster.<br /><br />
    Wenn Sie einen Apple Mac zum Surfen nutzen, verwenden Sie für die Tastenkombinationen die APFEL-Taste anstatt der STRG-Taste." tabindex="0">Darstellungsgröße + -</a>
    löscht mir Contao nach dem Speichern innerhalb des rel-Attributs sämtliche spitze Klammern, sodass die HTML-Tags nicht mehr als Tags erkannt werden.

    Kann ich das irgendwie umgehen?

    Danke für jede Anregung!

    Gruß Alex

  2. #2
    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

    Warum löscht der das wohl? Weil Tags in Attributen nicht erlaubt sind! Das ist ein Fehler auf dieser hier-Seite.

    Entweder du maskierst die spitzen Klammern
    < => $lt; (lower than - kleiner als)
    > => $gt; (greater than - größer als)

    Oder du setzt den Tipp-Text mit der Option text oder mit der Methode setText() - beides wird hier beschrieben http://mootools.net/docs/more/Interface/Tips. Dann kannst du auch irgendein (verstecktes) HTML-Element als Tipp-Text nehmen.
    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

  3. #3
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    681

    Standard

    Hallo Andreas,

    vielen Dank für Deine Antwort.

    Mir war nicht klar, dass Contao hier so streng auf Validität achtet. Das Maskieren funktioniert leider nicht, sondern wird im Klartext ausgegeben. Ich habe also versucht, das Template wie folgt anzupassen:

    PHP-Code:
    <script type="text/javascript">
    <!--
    //--><![CDATA[//><!--
    window.addEvent('domready', function()
    {
        var 
    myTips = new Tips($$('.tooltip'),
        {
            
    showDelay10,    //Verzögerung bei MouseOver
            
    hideDelay500,   //Verzögerung bei MouseOut
            
    className'tool'//CSS-Klassennamen --> CSS-Definitionen
            
    offsets: {'x'50'y': -100 }, // Versatz des Tooltips
            // ab MooTools 1.3 wird offset ohne s verwendet.
            
    fixedfalse// false = Tooltip bewegt sich mit dem Mauszeiger, true=Tooltip bewegt sich nicht
            
    text'test',
        });
      
    // zeigt den Tooltip bei Fokus an | ergänzt 02.01.2011

        
    $$('.tooltip').each(function(el) {
            
    el.addEvent('focus', function(event){
                
    myTips.elementEnter(eventel);
            }).
    addEvent('blur', function(event){
                
    myTips.elementLeave(eventel);
            });
        });
    });
    //--><!]]>
    </script> 
    Auch in unterschiedlichen Schreibweisen, da ich in JS nicht sonderlich erfahren bin. Aus dem HTML-Aufruf habe ich das rel-Atribut komplett entfernt.

    Der Titel des Tooltips wird nun zwar angezeigt, der Textbereich bleibt jedoch leer. Muss ich doch auf die Methode setText() zurückgreifen?

    Gruß Alex

  4. #4
    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

    Der String für text kann nur ein Attribut des Anchors sein, also z.B. href, title usw.

    Wenn du einen eigenen Text unterbringen möchtest kannst du das so machen:
    PHP-Code:
    var myTips = new Tips($$('.tooltip'), {
      
    showDelay10,
      
    hideDelay500,
      
    className'tool',
      
    offset: {
        
    x50,
        
    y: -100
      
    },
      
    fixedfalse,
      
    text: function(){
        return 
    'mein Text';
      }
    }

    // oder

    ...
      
    text: function(){
        return 
    myElement.get('html');
      }
    ... 
    Letzteres habe ich nicht getestet. Evtl. reicht da auch nur return myElement; oder return myElement.get('text');

    Achtung, offset nicht offsets.

    In meinem Contao 3.2.9 hat der ACE-Editor für das HTML-Element die maskierten Klammern allerdings korrekt nach [lt] bzw. [gt] umgewandelt, so dass sie in der FE Ausgabe richtig als Entities erscheinen.
    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

  5. #5
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    681

    Standard

    Letzteres scheint nicht zu funktionieren - oder ich hab's falsch eingebaut.

    Aber folgende Variante funktioniert wunderbar:

    Code:
            text: function(){
            return '<strong>mein<br />Text</strong>';
            }
    Herzlichen Dank für Deine Hilfe!

    Gruß Alex

  6. #6
    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

    Ok, schön, dass es funzt.

    Ich habe gerade mal die nicht getestete Variante getestet, das geht einwandfrei. Wahrscheinlich wusstest du nicht, was mit myElement gemeint war.

    Hier mal ein paar Beispiele:
    PHP-Code:
    var myElement      = $('footer'); // Ein $-Zeichen - Rückgabe: Das Element mit der eingetragenen ID (hier footer)
    var myFooter       = $$('#footer .indside'); // Zwei $-Zeichen - Rückgabe: Die Elemente, welche auf den CSS Selektor passen
    var myArticles     = $$('.mod_article'); // alle Artikel
    var myFirstArticle = $$('.mod_article .first'); // die ersten Artikel
    var myFirstH1      = $$('.container h1')[0]; // [0] wählt nur die erste h1 in .container - [1] wäre die 2. h1
    var myTip1         = $('tip_1'); // das Element mit der ID 'tip_1'

    // Du kannst myElement am Anfang des Scripts mit var deklarieren und dann die Variable für text: benutzen. Oder bei text: direkt die/das Element/e holen.
    ...
    text: function(){
      return 
    myTip1;
    },
    ...
    text: function(){
      return $(
    'tip_1');
    },
    ... 
    Es hat mir in meinem Test tatsächlich z.B. den kompletten Footer mit allem HTML in den tip_text gebracht.

    Du könntest also ein Element erstellen für deinen Tipp-Text, ihm ne ID geben 'tip_1', mit CSS unsichtbar machen und dieses Element dann für den Tipp-Text holen.
    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

  7. #7
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    681

    Standard

    Stimmt auffallend, das hatte ich nicht kapiert.

    Konnte Deine Beispiele aber nun nachstellen. Eins funktioniert allerdings nicht: Wenn ich die ID "tip_1" via CSS auf unsichtbar setze, dann wird sie auch im Tooltip nicht angezeigt. Das scheint also nur mit sichtbaren Elementen auf diesem Weg zu funktionieren.

    Gruß Alex

  8. #8
    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

    Ok, habe ich nicht beachtet. Du kannst aber folgendes machen
    HTML-Code:
    #tip_1 {
      display: none;
    }
    .tool #tip_1 {
      display: block;
    }
    Wobei tool die Klasse deines Tooltipps ist.
    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

  9. #9
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    681

    Standard

    Klasse, das klappt! Wusste gar nicht, dass man display:none nochmal überschreiben kann - dachte, das vererbt sich unwiderruflich weiter ...

    Gruß Alex

  10. #10
    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

    Nein, unwiderruflich vererbt sich nie etwas weiter.
    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
  •