tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
3295
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Vertigo21
    Vertigo21 Vertigo21 ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Zwickau (Sachsen)
    Beiträge
    182
    Hallo zusammen.

    Ich habe vor kurzem diesen Editor im Netz gefunden:

    http://web5.kdnr543.w-cct.de/richtext.htm

    Der Autor stellt ihn als Freeware zur Verfügung und daher habe ich ihn mir für meine Seite (sehr geringfügig) angepasst. Alle funktioniert optimal bis auf eine Sache:

    Bei Eingaben innerhalb des Internet Explorers wird beim Druck auf die Enter-Taste statt eines Zeilenumbruchs ein Absatz erzeugt. Im daraus resultierenden Quelltext steht dann auch ein <p> statt eines <br>.

    Ich weiß leider viel zu wenig von JS um den Fehler zu finden. Vielleicht weiß ja einer von euch Rat.

    ***********EDIT***********
    Noch eine kleine Erläuterung:
    Der Editor unter der URL funktioniert mit Mozilla normal. Nur mit dem Internet Explorer macht er zicken. Ich kann den Fehler nicht finden...

    Meine Version:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
               <HTML>
               <HEAD>
               <TITLE>richtext</TITLE>
               <META http-equiv=Content-Type content="text/html; charset=windows-1252">
               </HEAD>
               
               <STYLE type=text/css>
     body { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #cdcdcd; background-color: #FFFFFF; margin: 25px 25px 25px 25px;}
               .imagebutton {  WIDTH: 26px; HEIGHT: 26px; }
               .image      {    WIDTH: 26px; HEIGHT: 26px; }
               .toolbar  {  HEIGHT: 30px; BACKGROUND-COLOR: #FFFFFF; }
               #edit { border: solid 1px #CDCDCD; }
               
               </STYLE>
               
               <SCRIPT type="text/javascript">
               //<!--
               var uagent = navigator.userAgent.toLowerCase();
               var ie_ok = -1;
               var gecko_ok = -1;
               
               
               if(uagent.indexOf("gecko") && navigator.productSub >= 20030210)
               {  gecko_ok=1; }
               
     if(uagent.indexOf("msie") != -1 && uagent.indexOf("opera")== -1 && (uagent.indexOf("msie 5.5") || uagent.indexOf("msie 6.")))
               {  ie_ok = 1;  }
               
               
               function InitToolbarButtons()
               {
                 kids = document.getElementsByTagName('DIV');
                 for (var i=0; i < kids.length; i++) 
                 {
                if (kids[i].className == "imagebutton") 
                {
                  kids[i].onclick = tbclick;
                }
                 }
               }
               
               function tbmousedown(e)
               {
                 if(gecko_ok==1)
                 {
                e.preventDefault();
                 }
               }
               
               function tbmouseout(id)
               {
                 document.images[id].src="images/buttons/"+ id +"n.gif";
               }
               
               function tbmouseover(id)
               {
                 document.images[id].src="images/buttons/"+ id +"a.gif";
               }
               
               function tbclick()
               {
                 if(this.id ==  'createlink')
                 {
                 if(ie_ok == 1)
                 {
                  edit.document.execCommand('createlink'); 
                  edit.focus();
                 }
                 
                 if(gecko_ok == 1)
                 {  
                  var szURL = prompt("Enter a URL:", "");
         document.getElementById('edit').contentWindow.document.execCommand("CreateLink",false,szURL);
                 } 
                 }
                 else
                 {
                  if(gecko_ok == 1)
                  {
                document.getElementById('edit').contentWindow.document.execCommand(this.id, false, null);
                  }
                  if(ie_ok == 1)
                  {
                edit.document.execCommand(this.id, false, null);
                edit.focus();
                  } 
                 }
               }
               
               function Start()
               {
                 if(gecko_ok == 1)
                 {
                 document.getElementById('edit').contentWindow.document.designMode = "on";
                 try
                 {
                 document.getElementById('edit').contentWindow.document.execCommand("undo", false, null);
                 }
                 catch (e)
                 {
                 gecko_ok = -1;
                 }
                 }
               }
               
               function processData()
               {
                 if(ie_ok==1) var htmlCode = edit.document.body.innerHTML;
                 if(gecko_ok==1) var htmlCode = document.getElementById('edit').contentWindow.document.body.innerHTML;
                 document.artikelform.artikel.value = htmlCode;
               
                 if(document.artikelform.artikel.value == '')
                 {
                alert('Da is nix drinnen ... das nicht gut!');
                return false;
                 }
                 else
                 {
                alert(document.artikelform.artikel.value);
                return false;
                 }
               }
               //-->
               </SCRIPT>
               <BODY onload="Start()">
               <form onSubmit="return processData()" name="artikelform" action="" method="post">
               <div style="border-top:solid 1px #CDCDCD; width: 400px;">
               <TABLE id=toolbar width="400">
                 <TBODY>
                 <TR>
                <TD width=26>
                  <DIV class="imagebutton" id="bold">
                <a href="#"><IMG name="bold" class="image" title="Bold" alt="Bold"
         src="images/buttons/boldn.gif" width="26" height="26" border="0" onmouseover="tbmouseover(this.name);" onmouseout="tbmouseout(this.name);" /></a>
                  </DIV>
                </TD>
                <TD width=26>
                  <DIV class="imagebutton" id="italic">
        <a href="#"><IMG class="image" name="italic" title="Italic" alt="Italic" border="0" src="images/buttons/italicn.gif" onmouseover="tbmouseover(this.name);" onmouseout="tbmouseout(this.name);" /></a>
                  </DIV>
                </TD>
                <TD width=26>
                  <DIV class=imagebutton id=underline>
        <a href="#"><IMG class="image" name="under" title="Underline" alt="Underline" border="0" src="images/buttons/undern.gif" onmouseover="tbmouseover(this.name);" onmouseout="tbmouseout(this.name);" /></a>
                  </DIV>
                </TD>
                <TD width="33%">&nbsp;</TD>
                <TD width=26>
                  <DIV class=imagebutton id=justifyleft style="LEFT: 10px">
        <a href="#"><IMG class="image" name="left" title="Align Left" alt="Align Left" border="0" src="images/buttons/leftn.gif" onmouseover="tbmouseover(this.name);" onmouseout="tbmouseout(this.name);" /></a>   
               
                  </DIV>
                </TD>
                <TD width=26>
                  <DIV class=imagebutton id=justifycenter style="LEFT: 40px">
        <a href="#"><IMG class="image" name="center" title="Center" alt="Center" border="0" src="images/buttons/centern.gif" onmouseover="tbmouseover(this.name);" onmouseout="tbmouseout(this.name);" /></a>   
                  </DIV>
                </TD>
                <TD width=26>
                  <DIV class=imagebutton id=justifyright style="LEFT: 70px">
        <a href="#"><IMG class="image" name="right" title="Align Right" alt="Align Right" border="0" src="images/buttons/rightn.gif" onmouseover="tbmouseover(this.name);" onmouseout="tbmouseout(this.name);" /></a>   
                  </DIV>
                </TD>
                <TD width="34%">&nbsp;</TD>
                <TD width=26>
                  <DIV class=imagebutton id=insertorderedlist style="LEFT: 10px">
        <a href="#"><IMG class="image" name="ol" title="Ordered List" alt="Ordered List" border="0" src="images/buttons/oln.gif" onmouseover="tbmouseover(this.name);" onmouseout="tbmouseout(this.name);" /></a>   
                  </DIV>
                </TD>
                <TD width=26>
                  <DIV class=imagebutton id=insertunorderedlist style="LEFT: 40px">
        <a href="#"><IMG class="image" name="ul" title="Unordered List" alt="Unordered List" border="0" src="images/buttons/uln.gif" onmouseover="tbmouseover(this.name);" onmouseout="tbmouseout(this.name);" /></a>   
                  </DIV>
                </TD>
                  <TD width="33%">&nbsp;</TD>
                  <TD width=26>
                  <DIV class=imagebutton id=createlink style="LEFT: 40px">
        <a href="#"><IMG class="image" name="web" title="Hyperlink" alt="Hyperlink" border="0" src="images/buttons/webn.gif" onmouseover="tbmouseover(this.name);" onmouseout="tbmouseout(this.name);" /></a>   
                  </DIV>
                  </TD>
               </TR>
               </TABLE>
               </div>
               <IFRAME id="edit" src="edit.htm" width="400" height="200" frameborder="0"></IFRAME>
               <textarea name="artikel" style="visibility:hidden;"></textarea>
               <div style="width: 400px;" align="center"><input type="submit" value="Source zeigen"></div>
               </form>
               <SCRIPT>
               if(ie_ok==1) edit.document.designMode = 'On';
               InitToolbarButtons();
               // testausgabe
               document.write("dein browser: " + uagent+"<br><br>");  
               // testausgabe
               </SCRIPT>
               <img src="count.php" width=1 height=1 />
               </BODY>
               </HTML>
    Geändert von Vertigo21 (27.09.05 um 11:09 Uhr)
     
    Seine Worte wurden zum Sinnspruch für die ausgehenden Tage des 20. Jahrhunderts, eine Epoche, in der die Wirklichkeit die Satire nahezu aussterben ließ.
    - Judith Stone , "Murphy's Gesetze - Das Gesetz vom Scheitern", 14.11.2005 -

    Bist auch du ein Pastafari?
    Wir haben bezahlt!
    Ich bin ein PIRAT!
    ___________________________________
    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination.

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Das ist kein Fehler, sondern das normale Verhalten des IE im DesignMode..... IE und Mozilla verwenden da unterschiedliche Techniken.

    Um das zu Unterbinden, musst du die Tastatureingaben überwachen und im Fall eines [ENTER] selbige canceln und stattdessen ein <br> an der Stelle einfügen.
    Eine andere Möglichkeit wäre es, nach dem Senden der Sache serverseitig leere Absätze durch ein <br> zu ersetzen.
     

  3. #3
    Avatar von Vertigo21
    Vertigo21 Vertigo21 ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Zwickau (Sachsen)
    Beiträge
    182
    Zitat Zitat von Sven Mintel
    Um das zu Unterbinden, musst du die Tastatureingaben überwachen und im Fall eines [ENTER] selbige canceln und stattdessen ein <br> an der Stelle einfügen.
    Genau das hattest du ja schon im PHP-Forum vorgeschlagen und ich weiß noch immer nicht wie ich das machen soll. Hast du evtl. ein Stichwort zum googeln oder einen Link für mich?

    **********Edit**********
    Frage hat sich teilweise erledigt, siehe:

    http://www.tutorials.de/tutorials203...t=%FCberwachen
    http://www.tutorials.de/tutorials190...t=%FCberwachen
    Geändert von Vertigo21 (28.09.05 um 11:24 Uhr)
     
    Seine Worte wurden zum Sinnspruch für die ausgehenden Tage des 20. Jahrhunderts, eine Epoche, in der die Wirklichkeit die Satire nahezu aussterben ließ.
    - Judith Stone , "Murphy's Gesetze - Das Gesetz vom Scheitern", 14.11.2005 -

    Bist auch du ein Pastafari?
    Wir haben bezahlt!
    Ich bin ein PIRAT!
    ___________________________________
    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination.

  4. #4
    R00Ki3 R00Ki3 ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    NRW
    Beiträge
    247
    Hi, ich hätte auch noch eine Frage zu dem editor...
    Ich hab ihn mir angesehen fande das ganze recht nett...
    Bekomme das auch gebacken das er die variablen übergibt und in die Datenbank einträgt.

    -Jetzt mal eine andere Frage:
    Ist es möglich die Daten aus der Datenbank auszulesen und in den editor einzufügen, so das ich bereits erstellte texte nochmal bearbeiten kann.
    Ich habe von java 0Ahnung...
    Habe es bis jetzt versucht indem ich einfach die Variablen in das iframe eingefügt habe (funkt aber nicht)...
    Und halt die Werte in die nichtsichtbare textarea...

    ->Danke für jeden Tip.
     

  5. #5
    Avatar von con-f-use
    con-f-use con-f-use ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.263
    Es gibt zwei Möglichkeiten: Du erzeugst mit einer serverseitigen Sprache ein Dokument mit dem aktualisieren Inhalt und weist es dem Iframe als src zu, oder du schreibst den Inhalt über NameDesIframes.document.write('Inhalt') in den Iframe (Wichtig dabei: open und close nicht vergessen).

    Um mal ein wenig eigenwerbung zu machen. Unter http://confus.co.funpic.de/_data/tut/editor.html findet ihr einen von mir geschriebenen Editor, der sehr kompakt und übersichtlich ist.
    Geändert von con-f-use (04.11.05 um 18:01 Uhr)
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  6. #6
    R00Ki3 R00Ki3 ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Ort
    NRW
    Beiträge
    247
    Thnx für die Hilfe es funktioniert.
    Nur so nebenbei bin auf deinen Editor umgestiegen und habe nen bilder anstatt text eingefügt einige funktionen raus andere rein.
    Nochmal danke....
     

  7. #7
    Avatar von con-f-use
    con-f-use con-f-use ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.263
    Na dann fein, freut mich zu hören - noch ein Bekehrter...

    Bitte noch: http://www.tutorials.de/tutorials215...ml#post1122340
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


Ähnliche Themen

  1. WYSIWYG Editor für C#
    Von Eroli im Forum .NET Windows Forms
    Antworten: 6
    Letzter Beitrag: 16.10.07, 13:12
  2. wysiwyg-editor
    Von searching_rik im Forum Javascript & Ajax
    Antworten: 26
    Letzter Beitrag: 12.10.05, 17:25
  3. WYSIWYG Editor
    Von js-mueller im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 26.04.03, 17:03
  4. Wysiwyg-Editor und IE6
    Von deinertsche im Forum PHP
    Antworten: 13
    Letzter Beitrag: 11.03.03, 18:02
  5. CMS mit WYSIWYG Editor
    Von hansen im Forum Content Management Systeme (CMS)
    Antworten: 2
    Letzter Beitrag: 16.12.02, 19:25