04. maj 2006 - 16:31Der er
7 kommentarer og 1 løsning
Udvikling af simpel WYSIWYG editor
Hej Eksperter.
Jeg er ved at udvikle en simpel web-editor i JavaScript. I den forbindelse er jeg stødt ind i et stort irritationsmoment - nemlig det at Internet Explorers RichEdit leverer en ordentlig gang slam-kode, som vi bedst kender det fra Frontpage 97. Midas fra Gecko laver alt i CSS, hvilket naturligvis er lækkert nok.
Mit spørgsmål er nu: Hvordan kan jeg tvinge IE til at bruge CSS til at lave div. formateringer? En hurtig løsning har vist, at jeg kan snuppe den markerede tekst, placere den i min egen formatering, og sætte den ind igen med kommandoen 'InsertHTML'. Men desværre er det ikke så ligetil at fjerne formateringen ingen. Så hvis I har en løsning til dette, så hører jeg meget gerne fra jer! :)
Hvis ikke jeg fik det gjort klart nok da jeg nævnte RickEdit og Midas, så er der naturligvis tale om, at jeg bruger browsernes indbyggede DesignMode - baseret på et iFrame jeg gør redigerbart.
Yups ... du skal skrive et mindre monster af en JS-applikation for efterfølgende at rette op på koden :o|
En anden mulighed er at skrive hele editoren selv i DOM/JS/CSS/HTML og XML (uden brug af browserens egne editor-funktioner). Det kan gøres, men det kræver nok lidt rigeligt af vitaminer ;o)
Personligt har jeg valgt at gøre koden pæn serverside. Dette er fordi folk ellers bare kan deaktivere functionen som gør din kode pæn, og så er du ligevidt. Du kan evt. lave det så du har en "clean code" knap hvor du vha. ajax får opdateret koden til det pæne kode.
Ja, men hvis man kan redigere i FF, kræver det, at alt, hvad der foretages af brugeren, overvåges og valideres - da FF ikke validerer på DOM-operationer. I FF kan man indsætte, hvad somhelst i hvilke somhelst elementer, uden det valideres - hvilket kan resultere i vildt invalid kode
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.