Avatar billede limemedia Nybegynder
23. januar 2004 - 19:13 Der er 4 kommentarer og
2 løsninger

Mozilla Midas - Problem med designMode og execCommand

Når jeg udfører kommandoen execCommand i Mozilla, får jeg en alert med følgende. Jeg har sporet mig frem til, at det er fordi designMode står til off.

Jeg initialiserer mit JavaScript med at sætte denne til ON, og kan umiddelbart aflæse værdien til dette. Så snart jeg kalder execCommand og aflæser designMode værdien, står denne til OFF.

JS Alerten :
[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://beta.compleo.net/ :: performAction :: line 45" data: no]

Koden på http://www.kevinroth.com/rte/demo.htm der linkes til fra Mozilla's egen side om Midas, nævner Moz nogle gange er langsom opfattende med designMode og kører 10ms loop på at slå det til. Jeg forsøgte lignende at sætte designMode "ON" 500 gange, uden held. Jeg har forsøgt gennem en ekstern knap i formularen, uden held.

Hvorfor kan jeg "ikke se skoven for bare træer" ?

Koden kan findes på http://beta.compleo.net/
Avatar billede csslover Nybegynder
23. januar 2004 - 20:18 #1
hvad med contentEditable='True';

eller er det udelukknde ie ?
Avatar billede fangel Nybegynder
23. januar 2004 - 20:25 #2
lars -> ahhh, det var det du skulle bruge browser-detection til ;) hæhæ

Det virker uden nogle ekstra opsætninger (kevinroth.com linket) i Firebird 0.7

Morten
Avatar billede limemedia Nybegynder
24. januar 2004 - 05:33 #3
dea >> kevinroth tingen virker, men jeg er ikke vild med hans koder, hvorfor jeg er igang med en "forbedret" version, der i enden bliver noget anderledes - dét er meningen at output i sidste ende, fra Moz eller IE bliver xhtml1.0 complient og nogle andre sjove ting jeg leger med ;)

csslover >> ifølge http://www.mozilla.org/editor/midas-spec.html er koden
document.getElementById("edit").contentDocument.designMode="on";

aflæser jeg værdien umiddelbart efter, er den stadig on, men aflæser jeg i execCommand funktionen, er den "off" ...
Avatar billede smirnoff Nybegynder
24. januar 2004 - 11:08 #4
i sætningen:

else if (isGecko) {
    ed = document.getElementById('editor').contentWindow.document;
    document.getElementById('editor').contentDocument.designMode = "on"; 
}


kan du erstatte de to linier med :

ed = document.getElementById('editor').contentWindow.document.designMode = "On";

- bemærk designmode på contentWindow.document .. dette virker både i Mozilla og IE - så du slipper faktisk for at dele ud på IE hhv Mozilla ...
Avatar billede limemedia Nybegynder
24. januar 2004 - 15:30 #5
smirnoff >> tak for svaret, det bragte mig i den rigtige retning - omend en større del af løsningen skulle omstruktureres for at få det til at virke.
Avatar billede smirnoff Nybegynder
24. januar 2004 - 23:19 #6
bare i orden - har selv kodet en htmleditor til IE/Mozilla - så har selv været igennem  :)
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