zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden JQuery + Cookie

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 18.01.2012, 23:49
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 21.11.2006
Beiträge: 11
cyrious befindet sich auf einem aufstrebenden Ast
Standard JQuery + Cookie

Hallo zusammen,

ich habe mittels ui-dialog und einfachen Fade-in divs eine Art interaktives Hilfesystem für eine Website gebastelt. Jetzt suche ich eine Lösung dem Besucher diese JQuery-Elemente am Start der Seite anzubieten, oder abwählen zu lassen. Ich dachte hier an einen Cookie. Hat damit jemand bereits Erfahrungen mit einer solchen Situation gemacht? Die Seite ist leider nur teilweise dynamisch (ajax). Daher die Idee mit den Cookies... Also um es auf den Punkt zu bringen. Wie schreibe ich eine solche Abfrage in einen Cookie und generiere aus dem Wert eine neue Klasse um die Divs zu verbergen? Freue mich auf eure Erfahrungen!!
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 26.01.2012, 15:26
Neuer Benutzer
neuer user
 
Registriert seit: 24.03.2009
Beiträge: 1
abstractizm befindet sich auf einem aufstrebenden Ast
Standard jQuery Cookie

Hier gibt es ein jQuery Plugin, das Dir die Arbeit mit dem Cookie erleichtert.
https://github.com/carhartl/jquery-cookie

PHP-Code:
var meinCookieWert = $.cookie('cookieName');

if(
meinCookieWert == null) {
  
// das Cookie gibt es nicht, schreibe etwas rein
  
$.cookie('cookieName''wert');
} else {
  
// das Cookie ist vorhanden, arbeiten mit dem Wert meinCookieWert
  // zB: $('#faq1').css('display',meinCookieWert);

Ich habe den Ansatz jetzt so aus dem Kopf rausgeschrieben und ihn nicht getestet. Sicherlich gibt es noch einiges an Optimierungsmöglichkeiten. Es sollte ja lediglich einen Schritt in die Richtung darstellen.

Liebe Grüße,
abs

Da man in der Regel in eine Cookie nur einen Eintrag mit einer Zuweisung schreibt, gestaltet sich die Verwaltung von mehreren Einträgen und Werten etwas trickreich. Anhand eines Trenner müsste man die Werte beim Lesen und Schreiben erst auseinander setzen.

Beispiel von mehreren Einträgen in einem Cookie:
Code:
faq1=show|faq2=hide|faq3=hide|...
Hier gibt es aber eine passende Alternative zum Cookie, aus der Html5 Ecke. WebStorage ist einfach und genau das was Du brauchst für den Verwaltung von temporären Daten.

Um auf Deine Anforderung zurück zu kommen, Du schreibst eine Funktion, die Du bei jedem Aufruf von Anzeigen / Verstecken benutzt.

PHP-Code:
function speichern() {
  
// Angenommen Du hast 10 FAQ Blöcke
  
for(i=1;i<=10;i++){
    
// Status von dem FAQ Block auslesen
    
status = $('#faq'+i).css('display');
    
// Status von dem FAQ Block eintragen
    
localStorage.setItem("faq"+istatus);
  }

Beim Aufruf der Deiner FAQ Seite benötigst Du dann diese Werte wieder.
PHP-Code:
function faqAnzeigen(){
  
// Angenommen Du hast 10 FAQ Blöcke
  
for(i=1;i<=10;i++){
    
// Status von dem localStorage lesen
    
statusAnzeige localStorage.getItem("faq"+istatus);
    
// Block wie den ausgelesenen Status anzeigen
    
if(){
      $(
'#faq'+i).css('display',statusAnzeige);
    }
  }

Ich habe das jetzt nicht getestet, sollte lediglich einen Schritt in die Richtig zeigen.

Liebe Grüße,
abs
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 26.01.2012, 15:52
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 13.07.2006
Beiträge: 414
Maxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer MenschMaxefix ist ein sehr geschätzer Mensch
Standard

Zitat:
Zitat von abstractizm Beitrag anzeigen
Da man in der Regel in eine Cookie nur einen Eintrag mit einer Zuweisung schreibt, gestaltet sich die Verwaltung von mehreren Einträgen und Werten etwas trickreich. Anhand eines Trenner müsste man die Werte beim Lesen und Schreiben erst auseinander setzen.
Dafür bietet sich JSON an. Pipes könnten ja auch mal innerhalb eines abzuspeichernden Wertes vorkommen.

JSON.parse() und JSON.stringify() helfen da weiter.

Gruß,
Max

PS: Man sollte es natürlich nicht übertreiben. Die Größe eines Cookies ist begrenzt und Bandbreite geht auch verloren, da der Browser das Cookie bei jedem Request mitschickt. Bei höheren Datenmengen sollte man sich also wirklich nach einer Alternative umschauen (localStorage etc.).
Mit Zitat antworten
Antwort

Stichwörter
cookie, jquery

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem bei Cookie setzen mit Jquery ha-bauer Javascript & Ajax 0 19.11.2011 15:23
jQuery Toggle und Cookie Nub Javascript & Ajax 0 25.04.2010 16:26
jquery cookie plugin, expiration time? sepp88 Javascript & Ajax 5 16.03.2010 19:31
Cookie lesen, zu kompliziert! cavebird Serveradministration und serverseitige Scripte 14 01.12.2009 12:25
SESSION / COOKIE - Konflikte poppihasi Serveradministration und serverseitige Scripte 1 23.12.2007 13:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:55 Uhr.