Even ter verduidelijking: dit topic is niet bedoelt als grote opsomming van bestaande web-editors. Een lijst kan je vinden op www.htmlarea.com. Wil je geadviseerd worden over een bepaalde editor, dan kan je prima terecht op hun website. Dit topic is bedoelt voor mensen die *zelf* een editor ontwikkelen.
Grondslagen van WYSIWYG Editors in Javascript | ||||
Doel van dit topic | ||||
Om de week wordt er hier in Webdesign & Graphics wel een vraag gesteld over WYSIWYG Editors. Dit topic zal gaan over veel voorkomende problemen. Bugs in IE en Gecko en hoe je die moet omzeilen. Er zijn testcases te vinden, verschillen tussen Gecko en IE. Kortom hét topic over WYSIWYG editors. Ik wil wel even benadrukken dat dit topic bedoeld is al verzamelplaats van informatie en niet als vraagbaak. Als je een probleem hebt, kan je hier eerst kijken of het een bekend probleem is. Je kan hier teven ook links vinden naar resources omtrent wysiwyg editors. Het is niet de bedoeling om hier vragen te posten. | ||||
Wat een WYSIWYG Editor zou moeten kunnen | ||||
Wat moet een goede html editor kunnen? Om deze vraag te kunnen beantwoorden, moet je eerst vaststellen welke mogelijkheden de eindgebruiker moet hebben. Een online HTML Editor is bedoeld om content te bewerken. In onderstaand stuk ga ik uit van twee verschillende paradigma's; 1.) De gebruiker wil alleen content bewerken. Het design ligt in CSS vast en de editor moet semantisch correcte HTML opleveren. 2.) De gebruiker wil alles kunnen bewerken, van lettertypes tot achtergrond kleuren. Hij wil een editor die lijkt op Macromedia Dreamweaver. Paradigma 1 Volgens het eerste paradigma moet de gebruiker volledig aan banden gelegd worden. De presentatie van de content ligt vast in de CSS. Deze presentatie is door de designer gekozen met een doel; het weergeven van de content in de huisstijl van het bedrijf. Het is onwenselijk dat gebruikers de vrije hand hebben en de stylesheet naast zich neer kunnen leggen. Dit zou betekenen dat gebruikers van je editor de mogelijkheid hebben om het design naar hun eigen hand te zetten. Bijna iedere editor verkrijgbaar, voldoet niet aan dit paradigma. Wat zou een editor volgens dit paradigma dus concreet moeten kunnen? De editor werkt volgens semantiek. De gebruiker kan uit een dropdown menu de stijl bepalen; Heading, Paragraphs, Blockquote, Quote, Definition Lists, Definition Terms etc. Dat dropdown menu stuurt de gebruiken er legt hem aan banden. De content zal niet verklooid kunnen worden en ziet er altijd uit zoals de designer het bedoeld heeft. Om dit te kunnen realiseren moet de gebruiker een nieuwe manier van denken ontwikkelen. Gebruikers zijn gewend tekst te typen, een lettertype te kiezen, en een lettergrootte. Bijna elke editor werkt immers op deze manier. Gebruikers moeten overstappen op een manier van denken, waarbij ze nadenken over de content die ze willen weergeven. De klant typt een paragraaf, besluit dat hij een titel wil invoegen. De gebruiker moet dan via de GUI kunnen aangeven dat hij een nieuwe titel wilt. De editor moet vervolgens de juiste Hx tag invoegen, eventueel met een standaard tekst die geselecteerd is. Op deze manier dwing je gebruikers na te denken over de content die ze willen presenteren. De layout zal niet meer verklooid kunnen worden en de content zal semantisch correct zijn. Paradigma 2 Volgens het tweede paradigma moet de eindgebruiker veel losser gelaten worden. Bijna elke editor die op de markt is voldoet aan dit paradigma. De gebruiker moet zelfs de achtergrond kleur van een tabel cell kunnen instellen. Semantiek is in dit paradigma van ondergeschikt belang. De gebruiker weet waar hij mee bezig is en zo nodig kan hij in de HTML de nodige aanpassingen maken. De voorbeelden van editors als deze zijn legio, dus verdere uitleg zal niet echt nodig zijn. Welk paradigma is de goede? Dat ligt er maar net aan wat je behoeftes zijn. Er kan niet strak aangegeven worden wat beter is. mening: Mijn voorkeur gaat uit naar editors van het eerste paradigma. Ik bekijk dat dan vanuit commercieel oogpunt; een klant heeft niet genoeg kennis van computers om hem helemaal vrij te laten. Ik wil hem z'n content laten bewerken, maar op een nette manier, zoals dat ook bedoelt is in de standaarden. Ik ben en blijf een semantiekridder. Dat mijn voorkeur uitgaat naar semantiek, wil natuurlijk niet zeggen dat jij ook zo'n editor wil maken. Je moet voor jezelf nagaan wat je behoeftes zijn. Ik kan me best voorstellen dat je voor een hobbyproject liever een editor maakt volgens het tweede paradigma. Ik zou zelf echter nooit in een commerciele toepassing zo'n editor implementeren omdat het gewoon wachten is op problemen. | ||||
Verschillen tussen Gecko en Internet Explorer | ||||
Ik zou hier een grote opsomming kunnen geven van alle verschillen tussen Gecko en Internet Explorer. Dat doe ik echter niet. Op de website van Mozilla staat perfect uitgelegd wat de verschillen tussen Gecko en Internet Explorer zijn. Een groot verschil is de manier van het benaderen van je Frame document. In IE kan je je frame benaderen met: JavaScript:
Dit werkt niet in Gecko. In Gecko moet je het contentWindow object gebruiken; JavaScript:
Deze manier van benaderen werkt in zowel Gecko als IE. Voor de overige verschillen verwijs ik je naar bovenstaand document. | ||||
Bugs, problemen, tips en truuks!!!!1111oneoneone | ||||
Zowel IE en Gecko hebben hun bugs en problemen. Het is soms handig om te weten wanneer iets fout gaat, wat je wel moet doen en wat je vooral niet moet doen. In de aankomende tijd zal ik hier bugs plaatsen die ik tegenkom. Hopelijk ook met een workaround. Mocht je zelf een bug zijn tegengekomen; laat het dan niet om hem hier te melden. Maak een minimale testcase en plaats het. | ||||
Links | ||||
The MSHTML Editing Platform in Internet Explorer 5.5 HTML Editing Platform in Gecko Verschillen tussen Gecko en Internet Explorer Using the range in Mozilla Using the range in Internet Explorer |
[ Voor 3% gewijzigd door Verwijderd op 06-04-2005 23:37 ]