Avatar billede brian0905 Nybegynder
28. juli 2005 - 15:22 Der er 5 kommentarer og
1 løsning

wysiwyg - hvordan lister jeg alle css klasser?

Hej,

Jeg er ved at arbejde på en WYSIWYG editor, jeg er nået til det punkt hvor jeg gerne vil lade brugeren vælge hvilken formattering der skal bruges på det markerede tekst. Problemet er at jeg vil gerne også give brugeren mulighed for at oprette nye styles (simple styles) eller importere egne stylesheets (.css). Jeg vil gerne have at brugeren kan vælge den style som han ønsker at bruge enten ved at vælge den fra en drop down menu eller fra en liste. Hvordan får jeg listet alle de klasser der er tilgængelige i det dokument der redigeres i nu? Jeg skriver det hele i ASP.NET med en database, så jeg har mulighed for at gemme alle styles i min database og vise dem til brugeren. Det giver imidlertidig et andet problem - hvordan kommer jeg fra en teksturel beskrivelse af min style til rent faktisk at få den applied til mit dokument?
Avatar billede roenving Novice
28. juli 2005 - 15:31 #1
Normalt kan det absolut ikke anbefales at tilknytte style-rules til elementer on-the-fly, men det er ganske simpelt:

element.className = "dinKlasse";

-- og man kan også finde alle tilgængelige klasser med javascript, men hvis du alligevel har gang i noget serverside kode, er det nok nemmest og sikrest at hive det fra en database, for browserne er meget forskellige angående styleSheets-propertyen på document !-)
Avatar billede brian0905 Nybegynder
28. juli 2005 - 15:46 #2
Hvorfor bør jeg ikke sætte klasser on-the-fly?

Tror jeg vil forsøge mig med at lave noget AJAX, det her er vist en god mulighed for at lege lidt med det :-)

tak for hjælpen, giv lige et svar :-)
Avatar billede roenving Novice
28. juli 2005 - 15:53 #3
I et normalt html-dokument, vil det at skifte klasse på et element on-the-fly være alt for dyr performance-mæssigt ...

-- browseren kan nemlig ikke med sikkerhed kan vide hvilke elementer, der eventuelt får ændret properties f.eks. som følge af cascading ...

Derfor kaster den hele sit css-DOM-træ i havet og genopbygger det, som om siden lige var blevet loadet ...

-- og det kan i komplicerede sider med dyb nesting af elementer godt tage op til flere sekunder !-)

-- els velbekomme '-)
Avatar billede roenving Novice
28. juli 2005 - 15:54 #4
-- og det er i hvert fald ikke mig, der skal have 200 point, så du beholder selvfølgelig de fleste selv !-)
Avatar billede roenving Novice
28. juli 2005 - 15:57 #5
Tak for point ;~}
Avatar billede brian0905 Nybegynder
28. juli 2005 - 15:58 #6
AAhhh.. pjat... det er ikke 200 points for din hjælp, men 200 points for hurtigt at få hjælp :-)

Det er også billigt sluppet i stedet for at skulle prøve disse performance penalties på egen krop :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester