Avatar billede limemedia Nybegynder
28. september 2002 - 15:48 Der er 9 kommentarer og
1 løsning

createRange og forsøg på at "snyde" IE

Ja, jeg sidder her og laver et meget minimalt felt til ændring af indtastet tekst - det er minimalt hvad jeg har behov for, men det skal virke som jeg ønsker, ikke som IE ønsker det.

Mit problem er, at koden
    var frameinit = '<html>';
    frameinit += '<head>';
    frameinit += '<style>body { font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; font-size : 11px; color : #363636; background-color: #efefef; }</style>';
    frameinit += '</head>';
    frameinit += '<body>';
    frameinit += '[type here]<br>[type again]';
    frameinit += '</body>';
    frameinit += '</html>';

    function init_dynarea() {
        doc = edit.document;
        doc.focus();
        doc.designMode = 'On';
        doc.open();
        doc.write(frameinit);
        doc.close();
    }

hvor jeg specifikt skriver
    frameinit += '[type here]<br>[type again]';
altså <br> med lille, og derefter læser indholdet med edit.document.body.innerHTML så står der "gudhjælpemig" <BR> med store bogstaver - som jeg ikke kan bruge til noget.

Jeg har forsøgt at undgå execCommand fordi de netop laver bilka html (store bogstaver, mangler quotes om attributter og i den stil)

Er det helt umuligt at undgå ?

Kode : http://ljweb.dyndns.org/test/cms/ (kun testet med IE6 SP1 på Win2k)
Avatar billede Slettet bruger
28. september 2002 - 15:49 #1
IE plejer gerne selv at ville bestemme over sit HTML. Så jeg tror ikke, det kan undgås. Men du kan jo selv lave en toLowerCase og lidt regexp-replace.
Avatar billede limemedia Nybegynder
28. september 2002 - 15:53 #2
ja, det er nødløsningen... men så kan jeg ligesågodt anvende de mindst lige så fuskede execCommand fremfor mere møjsommelig kodning
Avatar billede Slettet bruger
28. september 2002 - 15:54 #3
Ja, det er meget nemmere. Og ligeså godt/dårligt.
Avatar billede Slettet bruger
28. september 2002 - 15:55 #4
Det er vist på tide, nogen rusker i MS og smider dem W3C-standarderne i hovedet...
Avatar billede limemedia Nybegynder
28. september 2002 - 15:56 #5
ms har vundet browserkrigen på at ignorere W3C, tror du selv de vil lytte nu ? det vil give alle ordentlige browsere mulighed for at komme tilbage i ringen igen
Avatar billede Slettet bruger
28. september 2002 - 16:00 #6
Næ, jeg tror ikke på noget. Jeg håber bare, at browserne snart vil lide den uundgåelige død. Det er på tide at få intregreret nettet ordentligt.
Desværre vil det nok være MS, der med Windows kommer til at sætte dagsordenen...
Avatar billede limemedia Nybegynder
28. september 2002 - 16:02 #7
for at være strid, kan jeg ligge et tillægsspørgsmål til :D Når jeg laver createRange er alt nemt. Men hvordan kan jeg indsætte hvor markøren er placeret uden at der er foretaget en markering ?
Avatar billede limemedia Nybegynder
28. september 2002 - 16:03 #8
både og... Programmer der maser for meget ind i ét mener jeg ikke er en fordel. Jeg kan godt lide valget og vil ikke favorisere et system der "kan alt". Man kunne jo ende i noget Lotus Notes agtigt, hvor man er så bundet på hænder og fødder at man ikke kan udfolde alle kreative evner
Avatar billede Slettet bruger
28. september 2002 - 16:06 #9
Du skal bruge den samme teknik som her, tror jeg:
http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
Men du bliver lige nødt til at skrive scriptet lidt om.

Jeg kan desværre ikke hjælpe dig mere lige nu! Jeg er tilbage i morgen.
Avatar billede limemedia Nybegynder
03. oktober 2002 - 19:20 #10
!
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