Avatar billede ripley Nybegynder
06. februar 2004 - 10:29 Der er 17 kommentarer og
1 løsning

javascript der undersøger, om cookies er slået til

Jeg ønsker at lave følgende vha. java script:

det skal undersøges, om brugeren har cookies slået til i browseren. Kan man det på en rimelig sikker måde, der går på tværs af IE/NN - og flere versioner?
Avatar billede sbm Nybegynder
06. februar 2004 - 10:48 #1
<script language="javascript">

//setting test cookie
document.cookie = "cookieName=cookiealue";
var cookiesenable = document.cookie.indexOf("cookieName") ;
if(cookiesenable== -1){
alert("Cookies are not enabled");
}
else
{
alert("Cookies are enabled");
}
</script>
Avatar billede sbm Nybegynder
06. februar 2004 - 10:52 #2
Jeg tillader mig lige at smide et svar...

Jeg fandt den ved at søge på google. Den skulle også virke med Opera.

http://www.developer.be/forums/index.cfm/fuseaction/dsp_full_thread/fullthreadid/325/forumID/10.htm
Avatar billede sbm Nybegynder
06. februar 2004 - 10:54 #3
...og bortset fra det... Skulle spørgsmålet ikke have været oprettet i javascript kategorien? :-)
Avatar billede ripley Nybegynder
06. februar 2004 - 10:59 #4
Jeg har prøvet at slå cookies fra i min browser - og så står der stadigvæk, at "cookies are enabled".
Er det mon browseren eller koden den er gal med?
Avatar billede ripley Nybegynder
06. februar 2004 - 10:59 #5
sbm: jeg kan aldrig finde javascript-kategorien - hvor dælen er den henne?
Avatar billede ripley Nybegynder
06. februar 2004 - 11:00 #6
sbm: det er jo lige præcis det, der er problemet - sådan reagerer min browser (IE 6.0 også!!!)
Avatar billede ripley Nybegynder
06. februar 2004 - 11:04 #7
Hov - nu prøvede jeg lige at gå ind på en side, der kræver cookies og blev stoppet, fordi jeg ikke havde dem slået til. Så det er slået rigtig nok fra i browseren.
Dvs. det må være javascriptet, der ikke umiddelbart fungerer sammen med IE 6.0!
Avatar billede mm12010 Nybegynder
06. februar 2004 - 11:08 #8
Avatar billede domaz.dk Novice
06. februar 2004 - 13:11 #9
<script language="javascript">

//setting test cookie
document.cookie = "cookieName=cookievalue";
var cookiesenable = document.cookie.indexOf("cookieName") ;
if(cookiesenable== -1){
alert("Cookies are not enabled");
}
else
{
alert("Cookies are enabled");
}
</script>
Avatar billede sbm Nybegynder
06. februar 2004 - 13:24 #10
domaz.dk >> Vågn op! Det er magen til den jeg smed på. Du har bare rettet cookiealue til cookievalue, men der bliver slet ikke checket for værdien. Kun om parametret cookieName er sat eller ej.

ripley >> Jeg har prøvet et par andre scripts, og de virker heller ikke. Hvad laver du din hjemmeside i. Måske du skal sætte en variabel serverside, sende den med ud, og så smage om den stadig er tilgængelig serverside.... Her tænker jeg PHP, ASP osv.... De kan alle håndtere cookies.
Avatar billede roenving Novice
06. februar 2004 - 14:11 #11
Det er nok fordi, I har prøvet den først, og da der ikke er udløb på, er den blevet hængende !-)

En cookie bliver normalt hængende i hvert fald så længe, som browseren er igang med samme session ...

Så selv om cookies slås fra undervejs, er der jo allerede blevet oprettet en, prøv at gå ind i:

Funktioner --> Internetindstillinger ... --> Midlertidige Internetfiler --> Indstillinger ... --> Vis filer

Der kan i finde de cookies, som findes, og deriblandt er sikkert også jeres egen, slet den, så skulle den svare korrekt !o]

(Find nemmest cookien ved at trykke to gange på oprettet-kolonnen, så skulle den senest oprettede fil stå øverst !-)
Avatar billede sbm Nybegynder
06. februar 2004 - 14:24 #12
roenving >> Jeg tvivler. Jeg har prøvet at slå cookies fra. Slette alle eksisterende cookies. Lukke alle instanser af MSIE. Renamer navn og værdi for den pågældende cookie jeg forsøger at sætte.

Det virker stadig fint i Mozilla og Opera men ikke i MSIE. :-/
Avatar billede roenving Novice
06. februar 2004 - 14:48 #13
Hrm ...

Der skulle ikke være andre metoder, for navigator-objektet har ikke en cookies-enabled property !-(
Avatar billede roenving Novice
06. februar 2004 - 14:51 #14
Der var jeg lidt for hurtig, for både IE6 og Moz1.5 havde en navigator.cookieEnabled, som sender true eller false, hvor langt tilbage, den virker, vil jeg lige kigge efter !-)
Avatar billede roenving Novice
06. februar 2004 - 15:02 #15
IE har den med fra 4.0, så der skulle den være global ...

-- og der skulle rodes en del i js-referencen, men
http://devedge.netscape.com/library/xref/2002/client-data/property-data-navigator.html

-- viser, at den er med fra Gecko 1.0.1, så den burde virke på alle de nyere Gecko-browsere: Netscape 6+, alle Mozillaer + nogle flere !-)

-- så kombivaren skulle virke:

if(cookiesenable== -1 || (!navigator.cookieEnabled)){
Avatar billede ripley Nybegynder
24. februar 2004 - 08:01 #16
Nu har jeg prøvet at blokere cookies i min IE 6.0 - slette alle cookies og så køre følgende kode:

<html>
<head>
    <title>Untitled</title>
<SCRIPT language="javascript">

function checkForCookies()
{
    //setting test cookie
    document.cookie = "cookieName=cookievalue";
    var cookiesenable = document.cookie.indexOf("cookieName") ;
    if(cookiesenable== -1 || (!navigator.cookieEnabled))
    {
        alert("Cookies are not enabled");
    }
    else
    {
        alert("Cookies are enabled");
    }
}
   
</SCRIPT>   
</head>

<body onload="checkForCookies();">
test

</body>
</html>

Den bliver ved med at sige, at cookies ikke er enabled.
I Netscape 6.0 siger den, at de er slået fra - dvs. her virker scriptet rigtigt.
Er der nogen, der kan forklare det?
Avatar billede ripley Nybegynder
27. februar 2004 - 10:09 #17
Hm - ser ud til, at problemet skyldes, at den lægger en cookie på maskinen, uanset om de er slået fra eller ej - fordi jeg tester lokalt.
Når jeg tilgår siden udefra, er det ikke noget problem ...??
Avatar billede sbm Nybegynder
27. februar 2004 - 10:15 #18
Ahhhh... IE arbejder jo med zoner, så du kan have forskellige sikkerhedsindstillinger for din maskine, lokalnetværk og internet. Og den er nok default indstillet til at tillade noget nær det hele når det er lokalt.
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