Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]W IE6 CKEditor dodaje niepotrzebny "enter"
Forum PHP.pl > Forum > Przedszkole
zordon
Witam
Mam CMSa umożliwiającego edycję tekstów za pomocą CKEditora. Musiałem dodać podział tekstu na podstrony - rozwiązałem to za pomocą CKeditorowego pagebreak'a: użytkownik wstawia znak podziału strony, na podstawie którego rozdzielam tekst. Problem pojawił się w IE6 (oczywiście). Okazuje się, że IE6 po każdym pagebreaku dodaje jeszcze znak nowej linii "<p>
&nbsp;</p>". Problem w tym, że on ZAWSZE dodaje NOWY znak. Czyli jak gość 10 razy wejdzie w edycję i kliknie zapisz to będzie miał 10 "enterów". Będę chyba musiał wycinać te nadmiarowe entery za pomocą wyrażeń regularnych - wolałbym tego uniknąć tylko średnio mam pomysł jak. Grzebać w źródłach CKEditora też mi się nie uśmiecha...
Daiquiri
Powiem szczerze, że nie pamiętam czy to załatwia sprawę tylko <p></p> czy też z twardą spacją w środku, ale:
Kod
FCKConfig.IgnoreEmptyParagraphValue = true;
i
Kod
FCKConfig.FillEmptyBlocks = false;
w konfiguracji (fckeditor/fckconfig.js).
zordon
niestety, w wersji 3 CKeditora nie ma juz opcji FillEmptyBlocks (ponoć jest path). Naprowadziłeś mnie za to na pewien trop i rozwiązałem to w taki (mało elegancki) sposób, że ustawiłem opcję config.enterMode na CKEDITOR.ENTER_BR (domyślny tryb dodawania enterów na "<br />" zamiast "<p>&nbsp;</p>".
Rozwiązuje to problem tylko częściowo, bo jestem skazany na niesemantyczne "<br />" w każdej stronie, która będzie musiała korzystać z tego rozwiązania, natomiast nie tłumaczy dlaczego IE6 (i, jak się później okazało, inne młodsze potworki ze stajni M$) dodaje NOWE "<p>&nbsp;</p>" ZAWSZE po znaczniku nowej strony CKE, i, na ile mi wiadomo, TYLKO w tym miejscu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.