Avatar billede lazenby Nybegynder
26. maj 2003 - 22:56 Der er 8 kommentarer og
1 løsning

Dynamisk ændre reference til eksternt CSS-stylesheet i XML-dok.

Hej Eksperter,

Som titlen antyder, har jeg brug for at dynamisk at kunne skifte mellem to forskellige stylesheet-visninger af et xml-dokument.

Jeg har i det pågældende dokument (bilbase.xml) indsat elementet
<?xml-stylesheet href="" type="text/css" id="style"?>

Idéen er, at jeg fra html skal kunne skifte mellem de to css-genererede visninger ved at klikke på to forskellige links.

Mit javascript ser ud som følger:

function test(id) {
    if (id == 1) {
        source.getElementById("style").setAttribute("href","../Stylesheets/css_1.css");
    }
    else if (id == 2) {
        source.getElementById("style").setAttribute("href","../Stylesheets/css_2.css");
    }
    window.open('../xml/bilbase.xml', 'CSS', config='height=600,width=520');
}

('id' bliver naturligvis returneret fra de to links.) Det burde virke, men jeg får at vide, at 'objektet ikke understøtter denne egenskab eller metode'. Er der nogen som kan gennemskue,hvad der er galt?

-lazenby.
Avatar billede roenving Novice
26. maj 2003 - 23:00 #1
Hvad med

document.styleSheets[0].href="../Stylesheets/css_1.css");
Avatar billede lazenby Nybegynder
26. maj 2003 - 23:03 #2
Hvordan det? Er styleSheets en gængs reference, eller hvordan?

source er i øvrigt defineret i html-dokumentet som mit xml-dokumentet (<xml id="source" src="../xml/bilbase.xml" />), men det fremgår vel af sammenhængen.
Avatar billede lazenby Nybegynder
26. maj 2003 - 23:05 #3
Kan det i øvrigt være det - skal jeg lave en ny reference til xml-dokumentet i metoden?
Avatar billede roenving Novice
26. maj 2003 - 23:09 #4
Ja, medmindre du har defineret en global variabel, så ja ...

-- og jeg har ikke selv haft brug for det object, så jeg fandt det frem igen i min bog, den siger at det er kompatibelt med NN6+ og IE4+, så den har jo nok været med i nogle år ...
Avatar billede lazenby Nybegynder
26. maj 2003 - 23:13 #5
Hmm, det virker ikke.

Kan du fortælle mig, hvordan jeg associerer en variabel med en fil, så får du pointsene (det er sent..)

- lazenby.
Avatar billede roenving Novice
26. maj 2003 - 23:32 #6
Var det:

document.getElementById("source").getElementById("style").setAttribute("href","../Stylesheets/css_2.css");

du prøvede ?-)

... associerer en variabel med en fil ??

Du kan selvfølgelig godt definere et objekt, så det virker som om det var en fil ...

-- og IE/windows har noget som hedder et FileSystemObject, så sådan noget (afskrvet fra førnævnte bog):

var fsoObj = new ActiveXObject("Scripting.FileSystemObject");
var thefile = fsObj.GetFile(filespec)

hth
jes
Avatar billede roenving Novice
26. maj 2003 - 23:42 #7
Tak for points ;~}
Avatar billede lazenby Nybegynder
26. maj 2003 - 23:43 #8
Selvtak. Jeg fik ikke løst problemet, men du skal have tak for din tid.

- lazenby.
Avatar billede roenving Novice
26. maj 2003 - 23:49 #9
Velbekomme '-)
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