Avatar billede mmmtm Nybegynder
25. december 2006 - 18:45 Der er 3 kommentarer og
1 løsning

createTextRange på kun en del af en side

Jeg bruger flg. script til at markere en/flere tekst(er) på en webside og det fungerer som det skal.  Jeg vil dog godt undlade at den første den af siden medtages i funktionen, fx. må scriptet godt nøjes med at markere i den tekst der er en del af en <tabel> eller første starte efter en specifik ID. Jeg kan ikke lige se hvordan den skal drejes, - nogle gode ideer ?

function setBG(txt,color){

var rng = document.body.createTextRange();
for (var i=0; rng.findText(txt) != false; i++){
    rng.select()
    document.execCommand("BackColor", "false", color)
    rng.collapse(false)
    rng.select()
}
}
Avatar billede roenving Novice
25. december 2006 - 23:39 #1
Ser ud til at du skal have et ret restringeret sæt af objekter for at gøre det: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/createtextrange.asp

-- dvs. body, button, en stribe inputs eller et textarea ...

-- har dog ikke undersøgt videre end første side på en google: http://www.google.dk/search?hl=da&q=site%3Amicrosoft.com+createTextRange&meta=
Avatar billede mmmtm Nybegynder
26. december 2006 - 09:17 #2
Jeg havde vist ikke fået kigget ordenligt på textrange-objectet, der er diverse move-metoder; rng.moveStart('word', 15) var nok - så rykkes starten 15 ord frem. Smid et svar, du fik mig på rette spor - takker :-)
Avatar billede roenving Novice
26. december 2006 - 19:48 #3
Velbekomme '-)
Avatar billede roenving Novice
26. december 2006 - 21:45 #4
-- og tak for point ;~}
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