Hallo,
hab ne Frage zu ner kleinen Javascript-Funktion die mir gerade etwas Kopfzerbrechen macht.
Ich biete meinen Benutzern verschiedene Funktionen an.
Die Funktionen beziehen sich auf einen Artikel.
Als Gedächtnisstütze für die Benutzer möchte ich anzeigen, wann sie diese Funktion das letzte mal ausgeführt haben.
Für das ganze schreibe ich Variablen in nen Cookie mit dem Namen des Artikels, der jeweiligen Funktion und dem Ausführungsdatum.
Es gibt vier Funktionen, somit sieht das Cookie nach Ausführung aller Funktionen z.B. so aus.
Beim nächsten Besuch der Seite wird nun anhand des Artikels abgefragt welche Funktionen wann ausgeführt wurden.
Die Zeiten sollen in irgendwelchen input-Feldern angezeigt werden...das ist nicht das Problem.
Hier die Funktion mit der ich meine Time-Codes abrufen möchte. Die Funktion "getcookie" wird viermal mit dem zugehörigen Artikel und der jeweiligen Type aufgerufen.
Das Problem ist jetzt aber, das mir nicht nur der Time-Code ausgegeben wird, sondern stets alle Zeichen ab dem timecode.
Hier die Ergebnisse:
alert bei type1:
alert bei type2:
alert bei type3:
alert bei type4:
Ich habe auch schon mit (.+) oder mit \B versuche gemacht, irgendwie schaffe ich es nicht, die Abfrage richtig einzugrenzen.
Wie schaffe ich es nur den Time-Code (vergl. alert bei type4) zu erhalten?
Vielen Dank für Eure Hilfe.
hab ne Frage zu ner kleinen Javascript-Funktion die mir gerade etwas Kopfzerbrechen macht.
Ich biete meinen Benutzern verschiedene Funktionen an.
Die Funktionen beziehen sich auf einen Artikel.
Als Gedächtnisstütze für die Benutzer möchte ich anzeigen, wann sie diese Funktion das letzte mal ausgeführt haben.
Für das ganze schreibe ich Variablen in nen Cookie mit dem Namen des Artikels, der jeweiligen Funktion und dem Ausführungsdatum.
Code:
// Ablaufdatum des Cookies auf eine Stunde setzen
var ablauf = new Date();
var time = new Date();
var expires = ablauf.getTime() + (5 /*Tag*/ * 24 /*Stunden*/ * 60 /*Minuten*/ * 60 /*Sekunden*/ * 1000 /*Millisekunden*/);
ablauf.setTime(expires);
document.cookie = artikel + "_" + type + "=" + time.getTime() + "; expires=" + ablauf.toGMTString();
Es gibt vier Funktionen, somit sieht das Cookie nach Ausführung aller Funktionen z.B. so aus.
Code:
artikel1_type1=1144046564587; artikel1_type2=1144046604599; artikel1_type3=1144046601666; artikel1_type4=114404660990;
Beim nächsten Besuch der Seite wird nun anhand des Artikels abgefragt welche Funktionen wann ausgeführt wurden.
Die Zeiten sollen in irgendwelchen input-Feldern angezeigt werden...das ist nicht das Problem.
Hier die Funktion mit der ich meine Time-Codes abrufen möchte. Die Funktion "getcookie" wird viermal mit dem zugehörigen Artikel und der jeweiligen Type aufgerufen.
Code:
function getcookie (artikel, type)
{
var cookieinhalt = "" + document.cookie;
var auslesen = 'cookieinhalt.match(/artikel + '_' + type + '=(\\d.+)/)';
eval(auslesen);
var wert = unescape(RegExp.$1);
// für mich zur Kontrolle ne alert-Ausgabe
alert (cookieinhalt + " - " + auslesen + "\n -> Wert " + wert);
}
Das Problem ist jetzt aber, das mir nicht nur der Time-Code ausgegeben wird, sondern stets alle Zeichen ab dem timecode.
Hier die Ergebnisse:
alert bei type1:
Code:
1144046564587; artikel1_type2=1144046604599; artikel1_type3=1144046601666; artikel1_type3=114404660990;
alert bei type2:
Code:
1144046604599; artikel1_type3=1144046601666; artikel1_type3=114404660990;
alert bei type3:
Code:
1144046601666; artikel1_type3=114404660990;
alert bei type4:
Code:
114404660990;
Ich habe auch schon mit (.+) oder mit \B versuche gemacht, irgendwie schaffe ich es nicht, die Abfrage richtig einzugrenzen.
Wie schaffe ich es nur den Time-Code (vergl. alert bei type4) zu erhalten?
Vielen Dank für Eure Hilfe.