Avatar billede hjep Nybegynder
24. april 2002 - 09:36 Der er 23 kommentarer og
1 løsning

css ved hjælp af javascript?

Jeg har et websted, hvor der ligger nogle websider som er beregnet til css.
Planen var så at man fra andre hjemmesider(f.eks. 3 bestemte. klub1, klub2 og klub3), skulle kunne gå ind på webstedet, således at siderne blev vist i klub1, klub2 og klub 3s egne css.

Kan det lade sig gøre evt. ved hjælp af java script?
Avatar billede cyberjoker Nybegynder
24. april 2002 - 09:44 #1
Kan du ikke bare linke til de respektive css-styles ?
Avatar billede hjep Nybegynder
24. april 2002 - 09:50 #2
Ikke helt forstået. Jeg forestiller at når man klikker på en link fra f.eks. klub1 hjemmeside, så dukker mit websted frem i klub1s css. Således at mit websted bliver en integreret det af klub1s hjemmeside. Hvis jeg skal lave et link, så skal jeg i dette tilfælde selv lave tre hjemmesider, så er finden væk - især hvis der pludselig er 10 der skal bruge det.
Avatar billede atn Nybegynder
24. april 2002 - 10:07 #3
Heysa !

Du kan bare lave 3 sider der bruger hvert sit style sheet...

venligst

<ATN/>
Avatar billede hjep Nybegynder
24. april 2002 - 10:25 #4
Og hvis jeg har 30 så skal jeg lave 90. Det er ikke så fiks en ide.
Avatar billede atn Nybegynder
24. april 2002 - 10:29 #5
Så må du når de linker modtage en parameter som henter det relevante stylesheet der skal bruges....

Venligst

<ATN/>

P.S. Du sagde heller ikke noget om 30 sider ! :o)
Avatar billede hjep Nybegynder
24. april 2002 - 10:49 #6
Nej det er rigtig - det var overraskelsen....

Det med parameteren lyder ok smart. Men så er det bare hvordan. Har du nogen ide?
Avatar billede atn Nybegynder
24. april 2002 - 11:04 #7
Heysa !

Du kan prøve med denne her...

Så kan de f.eks. linke til din side således: http://www.domæne.dk/minside.html?klub1

Så vil den hente klub1.css

*********| CODE START |*********

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>Untitled</title>
<script language="javascript" type="text/javascript">

var parameter = location.href.substring(location.href.indexOf('?')+1);

    if (parameter != location.href) {
        document.writeln('<link rel="StyleSheet" href="'+parameter+'.css" type="text/css">');
    }

</script>
</head>
<body>
</body>
</html>
Avatar billede jakoba Nybegynder
24. april 2002 - 11:15 #8
Du kan evt skrive din style kommando med javascript.

<script type='text/javascript'>
if ( document.referer.indexOf("klub1domaene.dk") >= 0 ) {
    document.write( "<link type='text/css' src='klub1.css'>\n" )
} else
if ( document.referer.indexOf("klub2domaene.dk") >= 0 ) {
    document.write( "<link type='text/css' src='klub2.css'>\n" )
} else
...

men siden du også har interne links imellem siderne kommer du til at lave en mekanik der kan huske den bruger, på næste side er document.referer jo digselv.

Så du må lave en slags session at huske det i. det kan evt gøres med cookies, men jeg ville nødig.

Hvis du har adgang til serverside er det ret nemt (og så bør testen ovenfor også flyttes ud i din .php eller .asp kode. (metoden ovenfor skodder i NS4.7))

mvh JakobA
Avatar billede hjep Nybegynder
24. april 2002 - 11:55 #9
Den Atn har lavet virker perfekt og tak for det, men glæden var kort, da det selvfølgelig kun er startsiden der tager css med.

Jakoba jeg får fejl i javascript ved dig. Den skriver  document.referer er null eller ikke et objekt.

Alt mit kode har jeg lavet i ASP. Men jeg kan forstå at det er et større projekt(cookies) hvis jeg skal have vist alle asp siderne i en bestemt css. Eller hvad er det du skriver med serverside?
Avatar billede atn Nybegynder
24. april 2002 - 12:07 #10
Jeg laver lige en lille ting til dig...

Køre på en cookie....2 sec...

Venligst

<ATN/>
Avatar billede atn Nybegynder
24. april 2002 - 12:21 #11
Heysa !

Prøv med denne....

Venligst

<ATN/>

********| CODE START |**********

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>Untitled</title>
<script language="javascript" type="text/javascript">
function setCookie(name, value) {
    document.cookie = name + "=" + escape(value) + "; path=/";
}

function getCookie(name) {
    var search;
        search = name + "=";
        offset = document.cookie.indexOf(search);
        if (offset != -1) {
            offset += search.length;
            end = document.cookie.indexOf(";", offset);
            if (end == -1) {
                  end = document.cookie.length;
                return unescape(document.cookie.substring(offset, end));
              } else {
                return "";
            }
        }
}

var parameter = location.href.substring(location.href.indexOf('?')+1);

    setCookie('param',parameter);
   
    if (getCookie('param') != location.href) {
        document.writeln('<link rel="StyleSheet" href="'+parameter+'.css" type="text/css">');
    }

</script>
</head>
<body>
</body>
</html>
Avatar billede hjep Nybegynder
24. april 2002 - 12:37 #12
Hejsa
Tak for det. Men jeg synes ikke det er helt godt. Jeg har overskrevet den gamle kode med den nye. Og jeg kommer også fint ind på forsiden som hedder
http://www.domæne.dk/minside.html?klub1
Hvis jeg så laver et link herfra der bare hedder minside2.html, ja så tager den altså ikke css med sig.

Men jeg skal lige høre dig når man arbejder med cookie, hvad skal der så stå på minside2.html. Jeg mener skal der være cookies på alle sider? (jeg har prøvet begge dele).
Avatar billede atn Nybegynder
24. april 2002 - 12:39 #13
Heysa !

Du skal includere javascriptet på dine sider - ellers vil det ikke virke...

Det kan du evt. gøre med en javascript include...

Venligst

<ATN/>
Avatar billede hjep Nybegynder
24. april 2002 - 13:05 #14
Ja hele javascriptet imellem "head", nå jeg prøver igen imorgen også vender jeg lige tilbage. Foreløbig mange tak for hjælpen
Avatar billede hjep Nybegynder
25. april 2002 - 08:52 #15
Hej igen ATN
Håber lige du vil hjælpe med mine cookies. Jeg har lagt dem ud på siden
www.friserverplads/bendt/cssforsog/forsog.htm?klub1

Der er et link som er blåt (dvs. med css)  som linker til forsog2.htm. Men forsog2.htm får ikke css med.

Hele dit script har jeg kopieret over i både forsog og forsog2. Men forsog2 sker der som sagt ikke så meget

Håber du lige har løsningen......
Avatar billede atn Nybegynder
25. april 2002 - 09:27 #16
Hmmm.....

Linket virker ikke...

Venligst

<ATN/>
Avatar billede hjep Nybegynder
25. april 2002 - 09:36 #17
Avatar billede atn Nybegynder
25. april 2002 - 09:42 #18
Heysa !

Prøv lige dette istedet....

Venligst

<ATN/>

**********| CODE START |*************

<script language="javascript" type="text/javascript">
function setCookie(name, value) {
    document.cookie = name + "=" + escape(value) + "; path=/";
}

function getCookie(name) {
    var search;
        search = name + "=";
        offset = document.cookie.indexOf(search);
        if (offset != -1) {
            offset += search.length;
            end = document.cookie.indexOf(";", offset);
            if (end == -1) {
                  end = document.cookie.length;
                return unescape(document.cookie.substring(offset, end));
              } else {
                return "";
            }
        }
}

var parameter;

if (location.href.indexOf('?') > 0) {

    parameter = location.href.substring(location.href.indexOf('?')+1);
    setCookie('param',parameter);

} else {

    if (getCookie('param') != location.href) {
        document.writeln('<link rel="StyleSheet" href="'+parameter+'.css" type="text/css">');
    }

}

</script>
Avatar billede atn Nybegynder
25. april 2002 - 09:46 #19
Undskyld....men der er lige en lille tilføjelse/ændring....

Venligst

<ATN/>

*******| CODE START |*********

var parameter = getCookie('param');
Avatar billede hjep Nybegynder
25. april 2002 - 10:36 #20
Hejsa igen
Nu er det meget tæt på at det virker. Hvis jeg bruger forsog.htm?klub1 bliver den første side uden css. Men de efterfølgende sider bliver med.
Så prøvede jeg så din første kode på forsiden og den anden på de resterende. Så virker alle siderne også, men problemet kommer så hvis jeg linker tilbage til forsiden, så bliver den uden css. Jeg har oploadet dem.
Men ja hvis bare forsiden også virkede med den sidste kode der, så ville alt virkelig være perfekt.
Avatar billede atn Nybegynder
25. april 2002 - 10:53 #21
Hmm... jeg får ingen fejl....

Stylesheetet kommer på - også på første side....

Måske er der andre der kan teste det ?

venligst

<ATN/>
Avatar billede atn Nybegynder
25. april 2002 - 10:56 #22
Alle dine sider skal have den nye kode....

Det har du ikke på: forsog.htm

Det er stadig den gamle kan jeg se...

venligst

<ATN/>
Avatar billede hjep Nybegynder
25. april 2002 - 10:58 #23
Det ved jeg godt, men det var for at prøve et eller andet.

Men nu har jeg lavet en anden startside som bare sender den videre, så er problemet løst. Umiddelbart virker alt perfekt nu og jeg synes virkelig at det er kanon. Mange tak for hjælpen
Avatar billede atn Nybegynder
25. april 2002 - 11:03 #24
Det var så lidt - håber det bliver godt det du får lavet...

§;o)

Venligst

<ATN/>
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