[cookies] bgcolor wil niet in een cookie??

Pagina: 1
Acties:

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 25-07 08:41

kazz1980

Goh... Ik hier?

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!-- Begin
var expDays = 30;
var exp = new Date(); 
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function color(){
var favColor = GetCookie('color');
if (favColor == null) {
favColor = 'silver';
SetCookie('color', favColor, exp);
}
document.bgColor=favColor;
return favColor;
}
function set(){
favColor=document.bgColor;
SetCookie ('color', favColor, exp);
}
function getCookieVal (offset) {  
var endstr = document.cookie.indexOf (";", offset);  
if (endstr == -1)    
endstr = document.cookie.length;  
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {  
var arg = name + "=";  
var alen = arg.length;  
var clen = document.cookie.length;  
var i = 0;  
while (i < clen) {    
var j = i + alen;    
if (document.cookie.substring(i, j) == arg) 
return getCookieVal (j);    
i = document.cookie.indexOf(" ", i) + 1;    
if (i == 0) break;   
}  
return null;
}
function SetCookie (name, value) {  
var argv = SetCookie.arguments;  
var argc = SetCookie.arguments.length;  
var expires = (argc > 2) ? argv[2] : null;  
var path = (argc > 3) ? argv[3] : null;  
var domain = (argc > 4) ? argv[4] : null;  
var secure = (argc > 5) ? argv[5] : false;  
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
((path == null) ? "" : ("; path=" + path)) +  
((domain == null) ? "" : ("; domain=" + domain)) +    
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {  
var exp = new Date();  
exp.setTime (exp.getTime() - 1);  
var cval = GetCookie (name);  
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
// End -->

ofwel: als er geen cookie is, dan krijgt de bgcolor de waarde zilver.
Als de achtergrondkleur aangepast wordt (via een andere mouseover-functie) dan kan dit opgeslagen worden middels de functie set().

Echter de bg-kleur blijft altijd wit bij verversen pagina...
Dus de cookie slaat de kleur niet op ofzo.
wat gaat er mis?

hier stond iets interessants, maar het is even weg...


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

check je ook wel bij het laden van je pagina uit een cookie welke bgcolor je moet hebben?

Stop uploading passwords to Github!


  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 25-07 08:41

kazz1980

Goh... Ik hier?

Topicstarter
dat gebeurd zo nog niet dan?

(sorry ben nog n00b wat cookies betreft)

ey als ik dit script intern gebruik werkt het wel.

moeten cookie-scripts intern op de pagina?
kunnen die niet extern?

hier stond iets interessants, maar het is even weg...


Verwijderd

Let op de manier waarop je de cookies probeert in te stellen.
define a cookie to be sent along with the rest of the header information. Cookies must be sent before any other headers are sent (this is a restriction of cookies). This requires you to place calls to this function before any <html> or <head> tags.
Ik vermoed dat daar de fout zit.

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 25-07 08:41

kazz1980

Goh... Ik hier?

Topicstarter
Op dinsdag 09 april 2002 16:04 schreef FoOL het volgende:
Let op de manier waarop je de cookies probeert in te stellen.
[..]

Ik vermoed dat daar de fout zit.
dat had ik inderdaad fout....
maar
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <SCRIPT SRC="cookie.js" DEFER language="JavaScript1.2"></SCRIPT>
<html>
<head>
    <title>Untitled</title>
    
     <SCRIPT SRC="move.js" DEFER language="JavaScript1.2"></SCRIPT>
      <SCRIPT SRC="color.js" DEFER language="JavaScript1.2"></SCRIPT>
    
</head>

<body>
<a href="JavaScript:set()">Save settings</a>
<SCRIPT>
 + color();
</SCRIPT>

als aanroep werkt ook niet....
(of doe ik dan iets heel doms ofzo...)

hier stond iets interessants, maar het is even weg...


Verwijderd

Je moet in ieder geval die eerste script tag daar weghalen en boven die andere 2 zetten, want waar hij nu staat is het niet toegestaan script tags te gebruiken. Daarbij komt dat de language attribute is 'deprecated', je kunt in plaats daarvan beter type="text/javascript" gebruiken, het type attribute is trouwens verplicht bij script tags.

En dan moet je nog even uitleggen wat de regel + color(); zou moeten doen. Het lijkt me dat dat een error oplevert.

Verder lijkt wat FoOl zegt me erg sterk, ik zou graag weten waar je die tekst vandaan hebt, ik vermoed uit de PHP manual.

Dat soort dingen geldt -lijkt mij- alleen voor server-side scripts, want client-side scripts kunnen op elk moment de cookies veranderen.

  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 25-07 08:41

kazz1980

Goh... Ik hier?

Topicstarter
Op dinsdag 09 april 2002 16:23 schreef Cheatah het volgende:
Je moet in ieder geval die eerste script tag daar weghalen en boven die andere 2 zetten, want waar hij nu staat is het niet toegestaan script tags te gebruiken. Daarbij komt dat de language attribute is 'deprecated', je kunt in plaats daarvan beter type="text/javascript" gebruiken, het type attribute is trouwens verplicht bij script tags.

En dan moet je nog even uitleggen wat de regel + color(); zou moeten doen. Het lijkt me dat dat een error oplevert.

Verder lijkt wat FoOl zegt me erg sterk, ik zou graag weten waar je die tekst vandaan hebt, ik vermoed uit de PHP manual.

Dat soort dingen geldt -lijkt mij- alleen voor server-side scripts, want client-side scripts kunnen op elk moment de cookies veranderen.
dat +color begrijp ik ook helemaal niet!
Maar als ik het weghaal werkt het niet meer....

hier stond iets interessants, maar het is even weg...


  • kazz1980
  • Registratie: Juni 2001
  • Laatst online: 25-07 08:41

kazz1980

Goh... Ik hier?

Topicstarter
ik wil verder eigenlijk meerdere zaken in 1 cookie bewaren. Dat kan toch?

Zit wat te proberen, maar krijg enkel errors!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
     <SCRIPT>
     <!-- Begin
var expDays = 30;
var exp = new Date(); 
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function color(){
var favColor = GetCookie('kazz');
var scrollColor = GetCookie('kazz');
if (favColor == null) {
favColor = 'silver';
SetCookie('kazz', favColor, scrollColor, exp);
}
document.bgColor=favColor;
return favColor;
if (scrollColor== null) {
scrollColor = 'gray';
SetCookie('kazz', favColor, scrollColor, exp);
}
document.body.style.scrollbarBaseColor=scrollColor;
return scrollColor;
}

function set(){
favColor=document.bgColor;
scrollColor=document.body.style.scrollbarBaseColor;
SetCookie ('kazz', favColor, scrollColor, exp);
}
function getCookieVal (offset) {  
var endstr = document.cookie.indexOf (";", offset);  
if (endstr == -1)    
endstr = document.cookie.length;  
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {  
var arg = name + "=";  
var alen = arg.length;  
var clen = document.cookie.length;  
var i = 0;  
while (i < clen) {    
var j = i + alen;    
if (document.cookie.substring(i, j) == arg) 
return getCookieVal (j);    
i = document.cookie.indexOf(" ", i) + 1;    
if (i == 0) break;   
}  
return null;
}

De volgende functie wordt telkens genoemd in de foutmelding!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function SetCookie (name, value) {  
var argv = SetCookie.arguments;  
var argc = SetCookie.arguments.length;  
var expires = (argc > 2) ? argv[2] : null;  
var path = (argc > 3) ? argv[3] : null;  
var domain = (argc > 4) ? argv[4] : null;  
var secure = (argc > 5) ? argv[5] : false;  
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
((path == null) ? "" : ("; path=" + path)) +  
((domain == null) ? "" : ("; domain=" + domain)) +    
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {  
var exp = new Date();  
exp.setTime (exp.getTime() - 1);  
var cval = GetCookie (name);  
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
// End -->
     </SCRIPT>

hier stond iets interessants, maar het is even weg...


Verwijderd

@cheetah:

Ja je hebt gelijk, dom van me |:( Is natuurlijk Serverside... |:(
Pagina: 1