Rätselhafter Netscape 6.2 bei Cookies
Siegfried
- javascript
Hallo,
Netscape 6.2 verhält sich rätselhaft:
1. Meine Seite soll ein Cookie setzen, wenn ein Formularfeld geändert wird und der Benutzer es will. Mit IE 6 funktioniert das auch. Mit Netscape 6.2 nur dann, wenn auf das Setzen des Cookies eine alert-Anweisung folgt. Beispiel siehe unten. JS ist in separater Datei enthalten.
2. Netscape 6.2 führt anscheinend JS nur aus, wenn die Funktionen in separater Datei definiert sind. Wenn ich sie in HTML (innerhalb von HEAD definiere, passiert gar nichts. Ist etwas falsch an diesen Zeilen?:
<script type="text/javascript">
<!--
... JS wie in der unten stehenden Datei
/-->
</script>
Vielen Dank für euere Hilfe!
Siegfried
HTML-Datei:
<html><head>
<SCRIPT src="test1.js" type="text/javascript" LANGUAGE=JavaScript1.2>
</script>
</head>
<body onLoad="init();" >
<form name="f1">
<p>Jahr <select size="1" name="jahr" onChange="Fjahr_changed(this);" >
<option selected value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
</select></p>
<p>speichern <input type="checkbox" name="C1" value="ON" onClick="Fkeks_changed(this);"></p>
</form>
</body></html>
Datei test1.js:
var ablauf = new Date();
function init() {
var in60Tagen = ablauf.getTime() + (60 * 24 * 60 * 60 * 1000);
ablauf.setTime(in60Tagen);
if(document.cookie) {
document.f1.C1.checked = 1;
document.f1.jahr.value = document.cookie;
}
else {
document.f1.jahr.value = 2004;
}
}
function Fjahr_changed(obj) {
alert("jahr changed");
var VarCookie;
VarCookie = document.f1.jahr.value;
if(document.f1.C1.checked == true)
{
document.cookie = VarCookie + "; expires=" + ablauf.toGMTString();
// alert("Cookie gesetzt.");
}
}
function Fkeks_changed(obj) {
alert("Fkeks changed");
if (obj.checked) {
var VarCookie;
VarCookie = document.f1.jahr.value;
if(navigator.cookieEnabled == true)
{
document.cookie = VarCookie + "; expires=" + ablauf.toGMTString();
// alert("Cookie gesetzt.");
}
else if(navigator.cookieEnabled == false)
{
// alert("In Ihren Browsereinstellungen sind Cookies nicht zugelassen.");
document.f1.C1.checked = 0;
}
else alert("Möglicherweise unterstützt Ihr Browser keine Cookies.");
}
else {
document.cookie = "";
// alert("Cookie gelöscht.");
}
}