Acties:
  • 0 Henk 'm!

  • dwilmer
  • Registratie: Oktober 2008
  • Laatst online: 25-01 09:50
In een CMS dat ik aan het bouwen ben heb ik CKeditor (versie 3.3.2) geïntegreerd. Nu loop ik alleen tegen het probleem aan dat plakken in Internet Explorer, Firefox en Chrome op 3 verschillende manieren wordt afgehandeld. Als voorbeeld: de tekst
Dit is een tekst
met een tweede regel

En een tweede paragraaf

wordt in de drie browsers op drie verschillende manieren afgehandeld.
IE:
HTML:
1
2
3
<p>Dit is een tekst<br />
met een tweede regel</p>
<p>En een tweede paragraaf</p>

Helemaal geweldig, precies wat ik wil. Maar nu Firefox:
HTML:
1
2
3
4
<p>Dit is een tekst<br />
met een tweede regel<br />
<br />
En een tweede paragraaf</p>

En om het af te maken Chrome:
HTML:
1
2
3
4
<div>Dit is een tekst</div>
<div>met een tweede regel</div>
<div>&nbsp;</div>
<div>en een tweede paragraaf</div>


Weet iemand hoe ik dit op zijn minst gelijk kan trekken, en dan het liefst op de manier zoals IE dat doet? (één newline wordt een br, twee vormen een nieuwe paragraaf)
Bij voorbaat dank!

Acties:
  • 0 Henk 'm!

Anoniem: 273526

Er is een on-paste function voor de editor. Je kan er dan met een replace wel voor zorgen dat je dat de juiste opmaakt krijgt. Ik denk dat dit wel zou moeten werken.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
CKEDITOR.replace( 'editor1',
    {
        on :
        {
            paste : function( ev )
            {
                text = ev.data.html.replace("","");
                ev.data.html = text;
            }
        }
    });


Het betekent alleen wel dat je als je bijvoorbeeld een div wil plakken, deze ook verwijderd wordt, als je alle div elementen vervangt door jou opmaakt

[ Voor 8% gewijzigd door Anoniem: 273526 op 17-01-2011 15:50 ]