Avatar billede hono Nybegynder
31. marts 2002 - 00:02 Der er 17 kommentarer og
1 løsning

Annuller kode med javascript

Jeg skal have lavet en kode, der tjekker hvilket frameset min side er indlæst i, og så vælger stylesheet udfra det. Det skal jeg nok finde ud af, ikke noget problem.

Men jeg ville meget gerne have at browsers, der ikke forstår javascript, alligevel loader et stylesheet. Altså noget med først at angive et stylesheet, så alle browsere forstår det. Og herefter annullere dette med javascript, så de browsere der forstår dette, i stedet vælger stylesheet udfra min funktion, der tjekker framesettet. Er det forståeligt?

Kan man med javascript annullere eller "overrule" et stykke kode?, eller har i andre forslag til, hvordan mit problem løses?

Hono
Avatar billede cms Nybegynder
31. marts 2002 - 00:08 #1
<div id="hej"><link rel=stylesheet ...></div>
<script type="text/javascript"><!--
if (document.all)
  document.all.hej.innerHTML = '<link rel=...>';
else
  document.getElementById('hej')....
</script>
Avatar billede hono Nybegynder
31. marts 2002 - 00:15 #2
nå ja, hvorfor tænkte jeg ikke på det!! Takker mange gange - læg et svar cms.

Hono
Avatar billede cms Nybegynder
31. marts 2002 - 00:17 #3
jamen virker det også? jeg gætter jo bare
Avatar billede hono Nybegynder
31. marts 2002 - 00:19 #4
tja cms, jeg har nu ikke tjekket, men det bør sq da virke. Kan ikke se hvorfor det ikke skulle. Takker, du får pointene.

Hono
Avatar billede cms Nybegynder
31. marts 2002 - 00:23 #5
:-)
Avatar billede jakoba Nybegynder
31. marts 2002 - 00:35 #6
der er vist en regel om at stylesheets og <link kommandoer skal ligge i <head sektionen.
Avatar billede hono Nybegynder
31. marts 2002 - 00:35 #7
og divs kan vel ikke lægge der...?

Hono
Avatar billede hono Nybegynder
31. marts 2002 - 00:36 #8
ligge even
Avatar billede cms Nybegynder
31. marts 2002 - 00:37 #9
nej
Avatar billede hono Nybegynder
31. marts 2002 - 00:39 #10
damn, er der så nogen der har et andet bud (skal nok give points for det - opretter bare et nyt spm.)

Hono
Avatar billede cms Nybegynder
31. marts 2002 - 00:39 #11
du kan gøre sådan:

document.styleSheets[0].href = "nyhref.css"
Avatar billede cms Nybegynder
31. marts 2002 - 00:41 #12
det kan gøres specifikt ved:
<link name="oldbrstyle" rel=style....>
<script>
document.styleSheets['oldbrstyle'].href = "nyhref.css";
</script>
Avatar billede hono Nybegynder
31. marts 2002 - 00:41 #13
k, det kom du lige på eller hvad? :O).

Takker!
Avatar billede cms Nybegynder
31. marts 2002 - 00:44 #14
tjah, når man nu tvinges til at gøre sit bedste :)
Avatar billede jakoba Nybegynder
31. marts 2002 - 01:32 #15
utestet gætteri:
måske man kan skrive sin <link kommando med javascript der så skriver noget forskelligt altefter hvilket framets det mener rammen ligger i.

Det er tidliger lykkedes mig at skrive inline slyles i html kommandoer på siden på den måde; men kun i IE. Netscape og opera ville ikke. om brovserne er mere elle mindre villige til at tage et helt stylesheet aner jeg ikke.

men prøv evt noget i retning af:

<script type='text/javascript'>
document.write( "<l"+"ink type='text/css' href='" );
if ( framesetId == 1 ) {
    document.write( "sheet1.css" );
} else
if ( framesetId == 2 ) {
    document.write( "sheet2.css" );
} else
    document.write( "sheet2.css" );
document.write( "'>" );
</script>

mvh JakobA
Avatar billede jakoba Nybegynder
31. marts 2002 - 01:33 #16
shit. denne gang er css den klare vinder. :-))
Avatar billede jakoba Nybegynder
31. marts 2002 - 01:33 #17
ups.  css -> cms
Avatar billede cms Nybegynder
31. marts 2002 - 01:34 #18
:-)
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