Netscape [6/7] Profi's gefragt...!
Gunther
- javascript
0 Alexander Foken0 Gunther
0 Cheatah
Hallo zusammen,
vorab meinen Dank an alle, die sich hier bemühen, mir bei der Lösung meines Problems zu helfen - DANKE!
Vorgeschichte:
Ich bastel seit geraumer Zeit an einem umfangreicheren Projekt, um insbesondere meine PHP- & MySQL-Kenntnisse auszubauen. Das Projekt ist so ausgelegt, dass es sowohl im MSIE >= 5.5, als auch im NS >= 6 korekt funktioniert und angezeigt wird.
Problem:
Nun habe ich mal wieder eine kleine JavaScript-Funktion geproggt - im MSIE ausprobiert -> funzt 100%ig - im NS ausprobiert -> funzt nicht!
Hier mal zwei der functions:
function read_cookie() {
var cook_name = "pnboxen_hs=";
if(document.cookie.length>0) {
cook_anfang = document.cookie.indexOf(cook_name);
if(cook_anfang!=-1) {
cook_anfang += cook_name.length;
cook_ende = document.cookie.indexOf(";", cook_anfang);
if(cook_ende==-1) cook_ende = document.cookie.length;
cook_inhalt = unescape(document.cookie.substring(cook_anfang, cook_ende));
}
}
if(cook_inhalt.length<3) cook_inhalt = "000";
cook_inhalt_alt = new Array();
cook_inhalt_alt[0] = cook_inhalt.slice(0,1);
cook_inhalt_alt[1] = cook_inhalt.slice(1,2);
cook_inhalt_alt[2] = cook_inhalt.slice(2,3);
}
function hidepnbox(boxid) {
var bid = boxid;
var imgid = bid + "_img";
var bidv = document.getElementById(bid).style.display;
if(bidv == "") {
var cook_name = "pnboxen_hs";
read_cookie();
switch(bid) {
case "pn_nv":
cook_inhalt_neu = "1" + cook_inhalt_alt[1] + cook_inhalt_alt[2];
break;
case "pn_pe":
cook_inhalt_neu = cook_inhalt_alt[0] + "1" + cook_inhalt_alt[2];
break;
case "pn_pa":
cook_inhalt_neu = cook_inhalt_alt[0] + cook_inhalt_alt[1] + "1";
break;
}
var cook_date = new Date();
cook_date.setTime(cook_date.getTime() + (1000*3600*24*365));
document.getElementById(bid).style.display = "none";
document.getElementById(imgid).src = "images/plus2.gif";
document.cookie = cook_name + "=" + escape(cook_inhalt_neu) + "; expires=" + cook_date.toGMTString();
}
else showpnbox(boxid);
}
Die erste Funktion "read_cookie" wird mehrmals gebraucht. Einmal wird sie ausgeführt beim Laden der Seite, und zum anderen, wenn der User die Funktion "hidepnbox" durch ein 'onclick' Event aufruft.
Ich bin bisher 'nur' dahinter gekommen, dass der NS offentsichtlich Probleme mit der Funktion "read_cookie" hat (wird nicht bis zum Ende ausgeführt) - aber warum?
Es wäre sehr nett, wenn mir jemand sagen könnte, wo ich auf der Leitung stehe! Wie gesagt, im MSIE funzt alles wunderbar. Wenn ihr noch mehr Info's braucht, bitte melden!
Gruß Gunther
Moin Moin !
Was ist Dein Problem ?
Fehlermeldung ?
Fehlverhalten ?
Was zeigt die Javascript-Konsole an ? ("javascript:" als URL eingeben)
Alexander
Was zeigt die Javascript-Konsole an ? ("javascript:" als URL eingeben)
Alexander
Vielen Dank für den Hinweis Alexander (da ich persönlich den NS seit Vers. 3 nicht mehr benutze, war mir das doch glatt entfallen)!
Der NS stört sich daran (im Gegensatz zum MSIE), dass die Variable 'cook_inhalt' nicht definiert ist in der ersten Funktion (read_cookie).
Ein einfaches 'var cook_inhalt = "";' hat mein Problem schon gelöst.
Manchmal ist des Rätsels Lösung eben näher, als man glaubt...!
In diesem Sinne -
Danke & Gruß Gunther
Hi,
Wenn ihr noch mehr Info's braucht, bitte melden!
was heißt (nach Übersetzung) "funktioniert nicht"? Welche Aktion genau führt zum Fehler? _Wo_ in der Funktion bricht es ab? Welche Werte haben die Variablen und verwendeten Objekte dann? Welche Werte hatten sie vorher? Was steht in der JavaScript-Konsole? Was sagt der Cookie-Manager dazu? Wie viel ist neun multipliziert mit sieben? Warum ist die Banane, äh, für Rehe lecker? Und wo zur Hölle ist meine Brille?
Ach ja, ich hab ja gar keine. Das erklärt manches.
Cheatah :-)
Hi,
Wenn ihr noch mehr Info's braucht, bitte melden!
was heißt (nach Übersetzung) "funktioniert nicht"? Welche Aktion genau führt zum Fehler? _Wo_ in der Funktion bricht es ab?
Zitat Ursprung-Posting:
Ich bin bisher 'nur' dahinter gekommen, dass der NS offentsichtlich Probleme mit der Funktion "read_cookie" hat (wird nicht bis zum Ende ausgeführt) - aber warum? (Zitat Ende)
Wer Lesen kann, ist klar im Vorteil...
Welche Werte haben die Variablen und verwendeten Objekte dann?
Ergibt sich doch aus den Funktionen... (s.o.)
Welche Werte hatten sie vorher?
Was spielt das bei meinem Problem für eine Rolle!?
Was steht in der JavaScript-Konsole?
Aah, der erste 'brauchbare' Hinweis...
Was sagt der Cookie-Manager dazu?
Nichts - wenn du mal richtig geguckt hättest, wäre dir aufgefallen, dass die Funktion soweit (schreiben des Cookies) ja gar nicht ausgeführt wird! Erst denken, dann schreiben...
Wie viel ist neun multipliziert mit sieben? Warum ist die Banane, äh, für Rehe lecker? Und wo zur Hölle ist meine Brille?
Ach ja, ich hab ja gar keine. Das erklärt manches.
Cheatah :-)
Da fällt mir noch was ein: Wie heißt es doch so treffend?
"Es gibt keine dummen Fragen - nur dumme Antworten!"
Normalerweise hätte ich dein Posting ja einfach ignoriert und mir meinen Teil gedacht, allerdings finde ich deine Art etwas sehr überheblich (nicht nur in dieser Antwort). Wenn du ja so ein toller Crack bist, verstehe ich nicht, warum du das Problem nicht direkt erkannt hast (Lösung s. mein 2. Posting)!?
Die Antwort hier hättest du dir auch sparen können. Dass ich 'auf der Leitung gestanden' habe, war mir auch klar, aber nach meiner Auffassung ist dieses Forum doch u.a. auch dafür da, oder sollte ich mich da irren.
Und bedenke: Wenn alle alles wüssten, dann wäre dieses Forum leer & überflüssig, und du hättest keine Plattform mehr, um dein umfangreiches Wissen zu dokumentieren!
Also was mich betrifft - bitte spar' dir zukünftig solche Antworten!
MfG
Gunther
Hi,
was heißt (nach Übersetzung) "funktioniert nicht"? Welche Aktion genau führt zum Fehler? _Wo_ in der Funktion bricht es ab?
Zitat Ursprung-Posting:
Ich bin bisher 'nur' dahinter gekommen, dass der NS offentsichtlich Probleme mit der Funktion "read_cookie" hat (wird nicht bis zum Ende ausgeführt) - aber warum? (Zitat Ende)
Funktion != Aktion. Was _exakt_ wurde gerade getan - vom User _und_ vom Script? Die letzte der obigen Fragen ist ebenfalls von Belang.
Wer Lesen kann, ist klar im Vorteil...
Wenn ich lesen kann, bringt Dir das noch gar nichts, solange Deine Beschreibung nicht reicht...
Welche Werte haben die Variablen und verwendeten Objekte dann?
Ergibt sich doch aus den Funktionen... (s.o.)
Du sollst das überprüfen. Mache Testausgaben. Wenn sich das aus der Funktion ergeben würde und diese nach Deinen Erkenntnissen korrekt ist, dann würde der Fehler nicht auftreten.
Welche Werte hatten sie vorher?
Was spielt das bei meinem Problem für eine Rolle!?
*seufz* Rückverfolgung dessen, was _wirklich_ geschehen ist. Du weißt bisher nur, was Deiner Ansicht nach geschehen _sollte_. Über Problemanalyse musst Du augenscheinlich noch viel lernen...
Was steht in der JavaScript-Konsole?
Aah, der erste 'brauchbare' Hinweis...
Nein, die anderen waren ebenfalls brauchbar. Wenn Du nichts mit ihnen anfangen kannst (oder willst), ist das nicht mein Problem.
Was sagt der Cookie-Manager dazu?
Nichts - wenn du mal richtig geguckt hättest, wäre dir aufgefallen, dass die Funktion soweit (schreiben des Cookies) ja gar nicht ausgeführt wird!
_Vermutest_ Du das, oder hast Du es _nachgeprüft_?
Erst denken, dann schreiben...
Äh, hallo?
Da fällt mir noch was ein: Wie heißt es doch so treffend?
"Es gibt keine dummen Fragen - nur dumme Antworten!"
Hast Du eigentlich vor, hier auch später noch Hilfe zu bekommen?
Normalerweise hätte ich dein Posting ja einfach ignoriert und mir meinen Teil gedacht, allerdings finde ich deine Art etwas sehr überheblich (nicht nur in dieser Antwort).
RTF Archiv.
Wenn du ja so ein toller Crack bist, verstehe ich nicht, warum du das Problem nicht direkt erkannt hast (Lösung s. mein 2. Posting)!?
Ohne Problemanalyse - und das _ist_ einzig und allein Dein Job - macht es wenig Sinn, auf den Code zu starren. Deswegen versuche ich soetwas auch gar nicht erst, sondern sage Dir, wie Du am wahrscheinlichsten den Fehler selbst finden kannst.
Die Antwort hier hättest du dir auch sparen können.
Mein Lieber, fang jetzt bitte einmal an zu denken.
Dass ich 'auf der Leitung gestanden' habe, war mir auch klar, aber nach meiner Auffassung ist dieses Forum doch u.a. auch dafür da, oder sollte ich mich da irren.
Nein, das ist völlig richtig. Umso passender ist meine Antwort gewesen.
Und bedenke: Wenn alle alles wüssten, dann wäre dieses Forum leer & überflüssig, und du hättest keine Plattform mehr, um dein umfangreiches Wissen zu dokumentieren!
Wenn Du Dir die Mühe gemacht hättest, über Deine offenkundige Meinung hinaus zu gehen und wenigstens experimentell zu akzeptieren, dass meine Antwort als _Hilfe_ gedacht war, hättest Du _vielleicht_ begriffen, dass sie in erster Linie Informationen enthält, die Dir auch später noch helfen. Du hättest lernen können, wie man an ein Problem herangeht - auch und gerade wenn es aus einer "dummen Kleinigkeit" besteht. Wenn Du _nicht_ lernen möchtest, dann bist Du in diesem Forum falsch.
Also was mich betrifft - bitte spar' dir zukünftig solche Antworten!
Es steht Dir frei, meinen Namen auf Deine Blacklist zu setzen, dann stören Dich meine Antworten auch nicht mehr. Ansonsten: Siehe Archiv.
Cheatah