Avatar billede brinck10 Nybegynder
18. juli 2008 - 14:42 Der er 8 kommentarer og
1 løsning

Javascript Cookie problem

Hej Eksperter.

Har nu siddet i en time og rodet med samme problem.

Jeg har et script, som skal lave to cookies der indeholder screen width og height. Mit script er følgende:

<script language="javascript">
        <!--
        /* Todays date */
        var myDate = new Date();
        /* We add 30 days to todays date, which is when we want our cookie to expire */
        var expDate = new Date(myDate.getDate()+30);
        /* Convert the date to a string containing the result, according to the Universal Coordinated Time */
        var expCookie = expDate.toGMTString();
        /* Get the screen width and height and set our two cookie swith the correct information */
        var swCookie = "screen_w="+screen.width+";expires="+expCookie; /* var: screenWidthCookie */
        var shCookie = "screen_h="+screen.height+";expires="+expCookie; /* var: screenHeightCookie */
        /* Apply the cookies */
        document.cookie=swCookie;
        document.cookie=shCookie;
       
        /* Update site so PHP can get the information */
        document.write(screen.width+" "+screen.height);
        //-->
</script>

Når jeg går ind på siden, og derefter kigger i mine cookies kan jeg ikke finde dem.

På forhånd tak!
Avatar billede w13 Novice
18. juli 2008 - 14:46 #1
Jeg mener heller ikke, du bare kan sætte det med:

        document.cookie=swCookie;
        document.cookie=shCookie;
Avatar billede w13 Novice
18. juli 2008 - 14:46 #2
I dette tilfælde vil du jo oven i købet overskrive den første med den anden.
Avatar billede brinck10 Nybegynder
18. juli 2008 - 14:48 #3
Men hvordan gør man så?
Avatar billede w13 Novice
18. juli 2008 - 14:51 #4
Det er desværre meget besværligt i JavaScript. Ser lige, om jeg kan google dig en funktion.
Avatar billede w13 Novice
18. juli 2008 - 14:54 #5
Prøv med disse funktioner:

<script type="text/javascript">
function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

createCookie("screenwidth",screen.width,30);
createCookie("screenheight",screen.height,30);
</script>

Bemærk i øvrigt, at jeg har erstattet language="javascript" med type="text/javascript", som man skal bruge i dag.
Avatar billede w13 Novice
18. juli 2008 - 14:54 #6
Her er et svar, hvis det virker.
Avatar billede brinck10 Nybegynder
18. juli 2008 - 14:59 #7
Mange tak, kan du ikke lige oplyse mig om siden du fik dem fra, da jeg skal bruge dem i en tutorial?
Avatar billede w13 Novice
18. juli 2008 - 15:16 #8
Nu skriver jeg fra min tlf. Men prøv at google "javascript cookies createcookie", så burde det være en af de første..
Avatar billede w13 Novice
18. juli 2008 - 16:54 #9
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