FireGlow: Dicke Schrift

Moin!

Ich hab ein WYSIWYG, mit einem iframe was contenteditable und designmode on ist.

Ich würde gerne haben, dass in allen Browsern die selben HTML-Tags gebildet werden. Leider wird im Mozilla z.b. SPAN benutzt und im IE <b>...

Dafür gibts eigentlich 2 Befehle (je nach alter von den Browsern):

document.execCommand("useCSS", false, true);
document.execCommand("styleWithCSS", false, false);

Das Lustige ist nun, dass der manchmal span und manchmal b im Mozilla benutzt, das gibt für mich total keinen sinn?! Gibts da jetzt schon wieder nen neuen Befehl, oder was ist los?

Gruß

FireGlow

  1. hallo,

    Ich hab ein WYSIWYG, mit einem iframe was contenteditable und designmode on ist.

    Oh. Könntest du bitte angeben, was das für ein online-Editor ist, wozu du da den iFrame brauchst und was du unter "designmode" verstehst?

    Ich würde gerne haben, dass in allen Browsern die selben HTML-Tags gebildet werden.

    Ein Wunschtraum. Browser bilden keine HTML-Elemente. Sie stellen aber diejenigen dar, die ihnen übermittelt werden.

    Leider wird im Mozilla z.b. SPAN benutzt und im IE <b>...

    Dann solltest du herausfinden, wieso dein Editor sich so anstellt und für Mozilla und IE unterschiedliche HTML-Elemente vorsieht - und wie er das macht.

    Dafür gibts eigentlich 2 Befehle (je nach alter von den Browsern):
    document.execCommand("useCSS", false, true);
    document.execCommand("styleWithCSS", false, false);

    Das dürfte nicht alles sein. An dieser Stelle gibts keine "Browserweiche", in welcher schlimmen Form die auch immer in deinen Editor implementiert sein mag.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. habe d'ehre Christoph

      Ich hab ein WYSIWYG, mit einem iframe was contenteditable und designmode on ist.

      wozu du da den iFrame brauchst und was du unter "designmode" verstehst?

      Die meisten WYSIWIG-Editoren packen die Textarea in einen <iframe>.

      *Design*mode: Textbereich markieren und auf den "B"-Buttom klicken, markierter Bereich wird fett (in der Regel mit <b> oder <strong>)

      *Contentedit*able: Direkte Erfassung in Quelltext der Textarea.

      Was ist daran so schwer zu verstehen? Warum immer so herablassend.

      Leider wird im Mozilla z.b. SPAN benutzt und im IE <b>...

      In der Tat duerfte dies eigentlich nicht vorkommen.

      Dafür gibts eigentlich 2 Befehle (je nach alter von den Browsern):
      document.execCommand("useCSS", false, true);
      document.execCommand("styleWithCSS", false, false);

      Normalerweise lassen sich solche Dinge ueber eine Config-Datei einstellen.

      man liest sich
      Wilhelm

      1. Moin!

        Leider sind die ganzen fertigen WYSIWYG-Editoren viel zu überladen, und für mich nicht nutzbar, gleichzeitig wird das Programm zu kommerziellen Zwecken genutzt.

        Wie auch immer, das soll mal net zu Debatte stehen. :-)

        Dass die Browser unterschiedliche Tags erzeugen, das ist Fakt. Daran gibts eigentlich nicht zu rütteln. Kann mir nur net vorstellen dass Tiny und Co jeden möglichen Tag korrigieren.

        Dafür gibts ja diese 2 Befehle (wobei der erstere Älter ist), und das lustige ist, das hat vor ein paar Wochen noch funktioniert. Jetzt aber aufeinmal nicht mehr, bzw. nicht immer.

        Es wird wohl darauf hinauslaufen, dass ich wirklich auch noch per Click auf einen Button den Text durchlaufen muss. Das Problem sind halt die ganzen veriationen, der macht z.B. aus zuerst kursiv und dann fett:
        <i style='bold'> </i> (oder so ähnlich) , voll bescheuert.

        Gruß

        FireGlow

        1. habe d'ehre FireGlow

          Es wird wohl darauf hinauslaufen, dass ich wirklich auch noch per Click auf einen Button den Text durchlaufen muss. Das Problem sind halt die ganzen veriationen, der macht z.B. aus zuerst kursiv und dann fett:
          <i style='bold'> </i> (oder so ähnlich) , voll bescheuert.

          Deswegen nehme ich die Dinger ja auch nicht her. Ich habe mich nach diversen Testinstallationen immer ueber den Codemurks geaergert. Fuer meine eigene Contentverwaltung arbeite ich nur mit BB-Code. Die Anwender hat es bisher nicht gestoert.

          man liest sich
          Wilhelm

          1. Deswegen nehme ich die Dinger ja auch nicht her. Ich habe mich nach diversen Testinstallationen immer ueber den Codemurks geaergert. Fuer meine eigene Contentverwaltung arbeite ich nur mit BB-Code. Die Anwender hat es bisher nicht gestoert.

            Leider werden die Anwender Ärzte sein, und die sind in Sachen PC ein bisschen beschränkt ;).

            Und ich brauch echt nur , dick, unterstriechen, kursiv, hoch- und tiefgestellt. Alles andere soll geblockt werden, was auch gut funktioniert, nur seh ich halt net den Sinn für alle mgölciehn Brwoser und deren Versionen alle Tags abzuklappern.

            Muss man wohl dennoch machen.

            Danke für die Hilfe

            • FireGlow
            1. Hallo FireGlow.

              Und ich brauch echt nur , dick, unterstriechen, kursiv, hoch- und tiefgestellt. Alles andere soll geblockt werden, was auch gut funktioniert, nur seh ich halt net den Sinn für alle mgölciehn Brwoser und deren Versionen alle Tags abzuklappern.

              Ich kenne mich mit Online-Editoren nicht aus, aber vielleicht helfen dir einige der alten http://de.selfhtml.org/javascript/objekte/string.htm@title=Stringfunktionen weiter.

              Einen schönen Sonntag noch.

              Gruß, Ashura

              --
              sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
              „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
              [HTML Design Constraints: Logical Markup]
        2. Liebe(r) FireGlow,

          Leider sind die ganzen fertigen WYSIWYG-Editoren viel zu überladen,

          das mag wohl sein... Jedoch kann man den TinyMCE sehr stark abspecken ("theme" auf "simple" stellen -> wesentlich weniger Dateien und Code im Editor). Wenn man dann noch auf die meisten Plugins verzichtet, dann ist er als richtig handlich zu bezeichnen!

          und für mich nicht nutzbar,

          Hmm - wegen deswegen?

          gleichzeitig wird das Programm zu kommerziellen Zwecken genutzt.

          Die bieten verschiedene Lizenzen an. Der TinyMCE wird sogar in vielen "großen" CMSen mitgeliefert, sodass die Hersteller des TinyMCE durchaus mehr als nur die GPL im Programm haben.

          Wie auch immer, das soll mal net zu Debatte stehen. :-)

          Wie Du willst.

          Dass die Browser unterschiedliche Tags erzeugen, das ist Fakt. Daran gibts eigentlich nicht zu rütteln.

          full ack.

          Kann mir nur net vorstellen dass Tiny und Co jeden möglichen Tag korrigieren.

          Im TinyMCE kann ich sehr genau einstellen, welche Tags mit welchen Attributen überhaupt erlaubt sind, und welche Tags durch welche anderen ersetzt werden sollen (z.B. <i> -> <em>, <b> -> <strong> usw.). Wie die das machen ist mir inzwischen herzlich egal, da ich mir für den TinyMCE ein größeres Plugin geschrieben habe, das mir die serverseitige Kommunikation sehr bequem erweitert und daher den Editor sehr bequem implementiert.

          der macht z.B. aus zuerst kursiv und dann fett:
          <i style='bold'> </i> (oder so ähnlich) , voll bescheuert.

          Auch mir fällt auf, dass im TinyMCE unter Firefox (im IE habe ich das noch nicht untersucht) ein markiertes Bild nicht selbst mit einer CSS-Klasse versehen wird, sondern dass es mit einem extra <span> umschlossen wird, welches dann stattdessen diese Klasse erhält. Nicht gerade sinnvoll. :-(

          Aber wenn Du Dir lieber Deinen eigenen WYSIWYG-Editor baust, dann wünsche ich Dir viel Erfolg, Geduld und Nerven! Wie Opera 9 damit umgeht, habe ich noch überhaupt nicht ausprobiert, aber der ist ja dann für Dich auch relevant.

          Liebe Grüße aus Ellwangen,

          Felix Riesterer.

  2. Hallo FireGlow,

    Ich würde gerne haben, dass in allen Browsern die selben HTML-Tags gebildet werden. Leider wird im Mozilla z.b. SPAN benutzt und im IE <b>...

    ich habe da vor einem halben Jahr mal selbst an HTML-Area herumgebastelt, damit es in allen Browsern denselben Quellcode produziert. Ich bin damals zu dem Schluss gekommen, dass es nur mit regulären Ausdrücken möglich ist, den Quellcode, der mit demselben Online-Editor in einem Browser produziert wird, auf das Aussehen des Quellcodes zu trimmen, der von einem anderen Browser generiert wird. Ich habe damit angefangen, aber bin dann schnell zu der Erkenntnis gelangt, das der Aufwand dabei für meine Zwecke in keinem vernünftigen Verhältnis zum Nutzen steht.

    Gruß Gernot

  3. Liebe(r) FireGlow,

    Ich hab ein WYSIWYG, mit einem iframe was contenteditable und designmode on ist.

    selbstgebastelt? Oder verwendest Du ein fertiges Script, das Du Dir aus dem Netz geholt hast?

    Ich würde gerne haben, dass in allen Browsern die selben HTML-Tags gebildet werden. Leider wird im Mozilla z.b. SPAN benutzt und im IE <b>...

    Dann kann Dein Editor nicht viel. In meinem Editor (TinyMCE von Moxicode.com) passiert sowas nicht.

    Das Lustige ist nun, dass der manchmal span und manchmal b im Mozilla benutzt, das gibt für mich total keinen sinn?! Gibts da jetzt schon wieder nen neuen Befehl, oder was ist los?

    Ich vermute, dass die Browserhersteller die Usereingaben im contentEditable-Modus oder DesignModus unterschiedlich in Code umwandeln. Daher prüfen vernünftige WYSIWYG-Editoren nach jeder Tasteneingabe, bzw. nach jedem Klick, was da hätte passieren sollen und korrigieren nötigenfalls den entstandenen Code. Oftmals tun sie das wohl direkt und ohne solche execCommand-Methoden... Aber da ich nie bis zum Grund der Programmierung des von mir verwendeten Editors vorgedrungen bin, kann ich Dir nicht viel bei Deinem Editor helfen.

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.