Webstatt.org - Community seit 2006 - 2012 (2024?)

Cookie setzen und auslesen mit Javascript

Avatar user-118
29.07.2006 17:18

Hallo,

Da ich absolut keine Peilung von JS habe wollte ich frage , ob mir jmd folgende Funktion ein bisschen anpassen kann.

<script type="text/javascript">
function Klappen(Id) {
var KlappText = document.getElementById('Lay'+Id);
var KlappBild = document.getElementById('Pic'+Id);
var jetec_Minus="images/template/minus.gif", jetec_Plus="images/template/plus.gif";
if (KlappText.style.display == 'none'zwinkern {
KlappText.style.display = 'block';
KlappBild.src = jetec_Minus;
} else {
KlappText.style.display = 'none';
KlappBild.src = jetec_Plus;
}

}
</script>


Es geht darum, dass sobald die Funktion Klappen aufgerufen wird ein Cookie mit dem Namen des Layers (Lay+Id) und dem jeweiligen display modus also none oder block gesetzt wird:
Also sowas:

document.cookie = Lay+Id = none oder block

Dann sollte bei einem Seitenaufruf geprüft werden, ob cookies vorliegen und dann je nachdem Display none oder display block setzen...

Die Funktion ist von http://www.je0.de/.

Wäre nett wenn mir das jemand machen könnte.

Vielen dank schonmal im Vorraus, Alex.

Achja: Gibt es eine Möglichkeit im Hintergrund (ohne neuen Seitenaufruf) den ganzen kram mit setcookie zu machen ? Ich wüsste nämlich nciht wie und deswegen wollte ich das mit JS realisieren. Gibt es allerdings eine solche Möglichkeit würde ich diese bevorzugen.

Ich brauche keine Signatur
Avatar user-255
29.07.2006 20:40

Ach, das bietet doch überhaupt kein Erfolgserlebnis, das von einem andern machen zu lassen.. :p

Cookie: http://de.selfhtml.org/javascript/objekte/document.htm#cookie
JSON: http://www.json.org/js.html

Im Cookie legst du ein serialisiertes JSON Objekt ab, denn mit einem String wirst nicht weit
kommen.. zwinkern Beim Auslesen dann einfach wieder in ein Array umwandeln und die entsprechenden
Elemente einklappen.. voila.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-118
30.07.2006 12:01

Oh Gott oh gott naja was ist ein serialisiertes JSON Objekt ? Was meinst du damit ?
Naja hoffentlich kriege ich das alles heute hin, wollte mich damit nicht so lange aufhalten.

mfg Alex

Kann ich eine PHP Funktion auch im Hintergrund ausführen und sie durch JS aufrufen

Ich brauche keine Signatur
Avatar user-255
30.07.2006 13:05

Mit serialisieren meine ich in einen String umwandeln, was mit der toJSONString Methode geht.

Du kannst über HTTP ein PHP Skript auf deinem Server aufrufen, ja. Mit GET Parametern lässt sich
das ganze auch ganz gut steuern.. zwinkern

Dazu nimmst du am besten eine Ajax Klasse, die die Implementierungen für HTTP Anfragen der
verschiedenen Browser schön abstrahiert.

Als Austauschformat empfiehlt sich XML (--> Ajax), wobei JSON auch nicht schlecht ist.. zwinkern

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-118
30.07.2006 13:49

Original von user-255
Mit serialisieren meine ich in einen String umwandeln, was mit der toJSONString Methode geht.

Du kannst über HTTP ein PHP Skript auf deinem Server aufrufen, ja. Mit GET Parametern lässt sich
das ganze auch ganz gut steuern.. zwinkern

Dazu nimmst du am besten eine Ajax Klasse, die die Implementierungen für HTTP Anfragen der
verschiedenen Browser schön abstrahiert.

Als Austauschformat empfiehlt sich XML (--> Ajax), wobei JSON auch nicht schlecht ist.. zwinkern



Joa klar. Nochmehr Fachbegriffe aus Lager ? Fettes Grinsen

Ich wollte eig. nur einen Cookie via Javascript mit lay + Id = none oder block setzen und nicht 2 oder 3 neue Programmiersprachen lernen... Gibs das alles auch in einfach. Der Code kann ja meinetwegen grottenhässlich und unprofessionell sein... Wenns denn funktioniert...

mfg Alex

edit:// Javascript ist zum kotzen !!!!!!!!


edit2:// Thema hat sich erledigt, ich hasse JS ich machs mit PHP. Fettes Grinsen

Ich brauche keine Signatur
Avatar user-255
30.07.2006 14:20

Ja.. ich seh schon, so wird das nix.. ^^

*vorwerf*
var versteckt = Array();

function klappen(id){
var treffer = 0;
for(i in versteckt){
if(versteckt[i] == id){
delete versteckt[i];
treffer = 1;
// hier Element#id ausklappen
break;
}
}
if(!treffer){
versteckt.push(id);
// hier Element#id einklappen
}
}

function speichern(){
document.cookie = versteckt.join(','zwinkern;
}

function lesen(){
var ids = document.cookie.split(','zwinkern;
for(i in ids){
klappen(ids[i]);
}
}


Doch etwas einfacher gehalten jetz.. frech

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-118
30.07.2006 15:42

Wow user-158ke dir... Fettes Grinsen
Es waäre bei mir auch nichts geworden

Ich brauche keine Signatur