ugrás a tartalomhoz

JavaScript WYSIWYG editor -- üzembiztos, testreszabható

Max Logan · 2009. Aug. 15. (Szo), 17.10
A kérdésem gyakorlati jellegű, a tapasztalatokra lennék kíváncsi.

Melyik WYSIWYG editort javasolnátok éles használatra, ami korrekt HTML kimenetet generál és testreszabható olyan értelemben, hogy az általam kiválasztott funkciókat le lehessen tiltani (ne lehessen aláhúzott szöveg írni, ne lehessen betűtípust állítani, stb.)?

Vannak már olyan szinten az ilyen szerkesztők, hogy egy honlap admin felületébe nyugodt szívvel beilleszthetők legyenek? Vagy inkább legyenek egyszerű BBCode-os formázási lehetőségek a szövegbevitelnél?
 
1

BBCode

Poetro · 2009. Aug. 15. (Szo), 20.08
Inkább legyen BBCode, Markdown vagy hasonló, azzal nem lesz gond, megbízhatók, és amennyiben szűrüd előtte a bejövő a HTMLt akkor teljesen alkalmasak a kiírt feladatokra.
2

WYSIWYG

Drawain · 2009. Aug. 16. (V), 18.52
Nem értem, hogy miért ódzkodnak az emberek még mindig ezektől a szerkesztőktől. Mi minden adminisztrációs felületünkön a TinyMCE-t használjuk és maximálisan elégedettek vagyunk. Extrém módon testreszabható, az input teljes mértékben szűrhető (pl. ha másik oldalról vagy word-ből emelsz át formázott szöveget, akkor kipucolja és nagy eséllyel ugyanazt az eredményt kapod vissza csak helyes html-el). Én a táblázatokat, div-eket, hasonlókat letiltottam, mert azzal valóban szét lehetett szedni az oldalstruktúrát. Viszont valid html-t generál, amit az is biztosít, hogy adatbázisba mentés előtt egy Htmlpurifier-t végigfuttatok rajta, ami az xss védelem mellett még a kód szabványosságát is ellenőrzi/garantálja és ha kell javítja is ennek érdekében.

És az is fontos szempont, hogy sokkal felhasználóbarátabb, otthonosabb a megrendelők szemében az ilyen rich text editor. Egyébként tinymce-t pl. át lehet állítani, hogy bbcode vagy más leírónyelv szerint generálja a kimenetet, ha ez szükséges.

Eddig senki nem panaszkodott nálunk a megbízhatóságra.
3

Tanúlság(?)

Poetro · 2009. Aug. 16. (V), 20.21
Hogy a TinyMCE azért eléggé teleszemeteli a HTML-t, és például HTML Purifier-rel lehet szép HTML-t csinálni belőle. Mert sajnos ezt egyetlen WYSIWYG szerkesztő nem tudja garantálni, de ilyen erővel akármelyiket is lehet használni, szerver oldalon úgyis szabványosítjuk.
4

tinymce

Drawain · 2009. Aug. 16. (V), 20.37
Nem mondtam, hogy teleszemeteli, csak a biztonság kedvéért használom a htmlpurifiert legfőképp az xss védelem miatt, így eléggé kisarkítod amit mondtam.
5

Igazából mindegy

Adam · 2009. Aug. 18. (K), 08.56
Szerintem azt használd / építsd be az oldaladba, amelyik neked a szimpatikusabb, amelyiket TE egyszerűbben tudod kiegészíteni a számodra szükséges funkciókkal. Amiben viszont Poetro-val egyetértek, hogy BBCode a barátod és érdemes a WYSIWYG Editorod által generált HTML kódot még kilens oldalon BBCode-ra átalakítani mentéskor és azzal dolgozni szerveroldalon. Ezzel a JavaScript-tel nem rendelkező látogatóidnak is egy kényelmes BBCode markup-ot biztosítasz — átlag felhasználónak egyszerűbb a megértése, mint a HTML —, másrészről nem kell törődnöd az XSS támadhatóságokkal (itt).
6

adminisztrációs felület

Drawain · 2009. Aug. 18. (K), 09.35
De most komolyan - ez lehet a mi hibánk - de a backendet használóktól azért csak elvárjuk, hogy használjon minimum egy modern böngészőt és js-t. Egyre inkább terjed az Ext JS is az adminisztrációs felületek kiszolgálójaként és ez sem véletlen. XSS-re pedig szerintem így is úgy is ellenőrizni kell minden inputot ami kimegy frontendre. Ez a biztos, és annyira nem fogja leterhelni a szervert, hogy ebből bármi probléma származzon (a frontend terheléséhez képest egy mentés az adminban).

Nem azt mondom, a frontend persze legyen úgy megírva, hogy mindenki számára elérhető legyen IE6-ból és js nélkül is.