• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Cookies in Script hinzufügen

noidea001

New member
Das 2. Problem, Ich habe dieses sehr minimale aber für meinen Nutzen perfektes Script (benötigt nichts als das und eben hier 3 "Container Divs"):

<script type="text/javascript">
function swapContent(num) {
for(i=0; obj = document.getElementById('content'+ i); ++i)
obj.style.display = 'none';
document.getElementById('content'+ num).style.display = 'inline';
return false;
}
</script>

<a href="#" onclick="return swapContent(0)">1</a>  <a href="#" onclick="return swapContent(1)">2</a>  <a href="#" onclick="return swapContent(2)">3</a>


Jetzt sollte dieses aber mit Cookies arbeiten, damit auch nach einem Seitenwechsel etc., die jeweils gewählt Variante angezeigt wird. Meine Frage ist somit, gibt es einen "universalen" Weg Cookies hier einzufügen, z.B. ein "Cookiescript" welches man "einsetzen" kann oder wie kann man das am einfachsten unkompliziert hinbekommen?

Ich habe einige weitere Scripts gefunden die mit Cookies arbeiten, z.B. unter www.stichpunkt.de, jedoch handelt es sich in diesen Fällen um andere Scripts die zwar ähnlich sind aber nicht genau das sind was Ich suche.

Da Ich mich mit Javascript nicht auskenne, habe Ich es auch nicht versucht diese Cookie Funktion von diesen Beispielen "irgendwie in das obige" einzubauen, vielleicht gibt es einen Tip oder "einfachen" Weg wie das zu schaffen ist.

Erneut vielen Dank im voraus!:icon6:
 
Ja, das habe Ich bemerkt. Hatte noch vor dem Posten hier, einmal in einen internationalem Forum diese Frage gepostet, da dort aber zunächst keine Antwort kam dann hier.

Von dort kam nun auch eine Lösung die funktioniert, jedoch ist ein kleiner Fehler drin, es arbeitet mit <body onload...> und erzeugt nach dem Seitenwechsel eine Verzögerung, heißt es wird zwar die nächste Seite mit Cookie geladen, die Ansicht wechselt aber erst mit Verzögerung, denke mal es ist wegen der body onload Funktion, da der Body noch lädt (Vermutung, denke aber mal es ist der Grund).:icon6:

Jedenfalls sieht das Script jetzt so aus:

Code:
<script type="text/javascript">
var def_content_num=1;
var Days = 30;
function swapContent(num) {
    if(!num){
      num = getCookie('contNum');
    }
    if(!num){
      num = def_content_num;
    }
    for(i=0; obj = document.getElementById('content'+ i); ++i)
        obj.style.display = 'none';
    document.getElementById('content'+ num).style.display = 'inline';
    setCookie('contNum',num,Days);
    return false;
}

function setCookie(cName,cVal,cDays){
  var exp = new Date();
  exp.setDate(exp.getDate()+cDays);
  document.cookie = cName+"="+escape(cVal)+"; path=/; expires="+exp.toGMTString();
}
function getCookie(cName){
  var cVal=document.cookie.split(cName+'=');
  if(cVal.length>1){
    return (cVal[1]+';').split(';')[0];
  }
  return '';
}
</script>
</head>
<body onLoad="swapContent()">
<a href='#' onClick='return swapContent(0)'>0</a>
<a href='#' onClick='return swapContent(1)'>1</a>
<a href='#' onClick='return swapContent(2)'>2</a>
<a href='#' onClick='return swapContent(3)'>3</a>
<br>
<div id='content0'>content0</div>
<div id='content1'>content1</div>
<div id='content2'>content2</div>
<div id='content3'>content3</div>
</body>

Soviel Ich weißt kann man aber auf das Body Onload verzichten, jedenfalls hatte Ich vor einiger Zeit einmal mit den "Prototype Standard Scripts" herumprobiert, heißt ein fertiges Script eingebaut, in eine andere Seite, wobei dieses eine (auch eine Sonderanfertigung auf einem Blog) nachträglich Cookies enthielt. Da Ich dort aber auch nichts direkt am Script gemacht hatte, ist es mir wiederum nicht klar wie man das genau ändern kann.

Wenn es eine einfache Lösung gibt...:rolleyes: Der Poster dieser Lösung verweigert jede weitere Arbeit am Script, mit der Angabe, daß es so schon richtig ist oder man ein neues Thema erstellen soll, wo dann wieder die Frage gestellt wird, wie das zu lösen ist und daß man sowieso immer nur fragen hat und es nie enden wird (lach).
 
Zuletzt bearbeitet:
Du kannst dem Poster dieser Lösung von mir ausrichten, dass das Skript ziemlich unsauber ist (der Cookie-Teil - das andere ist ja mehr oder weniger Standard) und dass es ziemlich einfach ist auf das onload zu verzichten (wobei das "sauberer" ist):
Code:
<a href='#' onClick='return swapContent(0)'>0</a>
<a href='#' onClick='return swapContent(1)'>1</a>
<a href='#' onClick='return swapContent(2)'>2</a>
<a href='#' onClick='return swapContent(3)'>3</a>
<br>
<div id='content0'>content0</div>
<div id='content1'>content1</div>
<div id='content2'>content2</div>
<div id='content3'>content3</div>
<script type="text/javascript">swapContent();</script>
Dieser Skript-Block muss nur unterhalb der ganzen "content" + i Kontainer stehen.
 
Aha, danke für die Infos. Habe das Thema aber da schon "geschlossen", die Leute bekommen dort Punkte für jede Lösung, die Punkte habe Ich dann "hinterhergeschmissen". Das lächerliste ist, dieses Forum nennt sich Experts und so weiter, bisher nichts rausgekommen, nach 4 Wochen Testzeit müßte man dann zahlen wollen um weitere Unlösungen zu bekommen.

Okay, zum Script, d.h. es ist mitunter immer wichtig die "Reihenfolge" einzuhalten, damit JS Scripts funktionieren. Hatte es schonmal im Ansatz so gelesen, jedoch das war ein ganz anderes Thema.

Werde es checken, sollte ja dann gehen, somit schonmal DANKE im voraus!:D

P.S.: Eine ganz andere Frage, wo kann man ggf. hier einen JS Programmierer finden, der ein oder 2 immer noch kleine Scripts erstellen kann. Diese beiden Sachen fallen außerhalb der Möglichkeiten es im Forum durchzukauen denke Ich, außerdem ist bei mir leider auch nicht immer die Zeit vorhanden mich selber in die Materie ein/mitzuarbeiten. Das Problem ist, Ich hatte schon mehrere Leute an meinem Server, bis auf daß Ich die Passwörter wieder wechseln mußte, hat es nie was gebracht, plus Unkosten. Gibt es sowas wie "Empfehlungsmarketing" hier im Forum etc.?
 
Zuletzt bearbeitet:
Die Punkte hätte ich ihm nicht gegeben. Seltsames Forum. Naja - bei uns gibt es keine Punkte (bei uns kann man nicht einmal ein Thema schließen...). Ich glaube ich schreib' hier (im Tutorialbereich) mal ein cookie-Script, dass meinen Ansprüchen genügt und muss dann nur noch dahin verweisen, wenn es sein muss.
 
www.experts-exchange.com ist der Link, ist zwar ein hochgepushtes Ding aber wie es aussieht nicht sehr gut, jedenfalls gibt es einige Themen und Poster die nicht gerade "ambitioniert" für Punkte "arbeiten" die sie dann wieder einlösen können für T-Shirts und so weiter. Ist oft so, wenn das Konzept erstmal stimmt und mehr und mehr bietet, desto niedriger wird die Qualität mit der Zeit.

Egal, solange es erstmal nichts kostet und man sehen kann ob es was bringt, okay.

Nun nochmal kurz meine Frage die Ich zuvor nachträglich eingefügt hatte, wahrscheinlich dann nicht gleich angezeigt worden.

---------

P.S.: Eine ganz andere Frage, wo kann man ggf. hier einen JS Programmierer finden, der ein oder 2 immer noch kleine Scripts erstellen kann. Diese beiden Sachen fallen außerhalb der Möglichkeiten es im Forum durchzukauen denke Ich, außerdem ist bei mir leider auch nicht immer die Zeit vorhanden mich selber in die Materie ein/mitzuarbeiten. Das Problem ist, Ich hatte schon mehrere Leute an meinem Server, bis auf daß Ich die Passwörter wieder wechseln mußte, hat es nie was gebracht, plus Unkosten. Gibt es sowas wie "Empfehlungsmarketing" hier im Forum etc. wenn es um Sachen geht die man zwar gerne im Forum bearbeiten will aber es ggf. nicht funktionieren würde, da eher "custom work"?
 
Okay, habe jetzt wieder ein Problem bzw. jetzt funktioniert die Cookiefunktion nicht mehr. Heißt, das Script läuft aber der gewählte Skin wird nach dem Seitenladen nicht wieder angezeigt. Zuvor war es das Problem präsent daß dieser erst mit Verzögerung korrekt per Cookies angezeigt wurde (erst kurz der Basisskin dann der zuvor auf der vorigen Seite gewählte).

??? Von der vorigen Probiererei mit Prototype oder Scriptaculous, eins von beiden war es, hatte Ich solch ein Problem nicht, leider habe Ich das Script nicht gerade griffbereit. Es scheint mir der Cookie wird nicht geladen.
 
Zu deinem PS: Es gibt hier ein "Jobs"-Forum... du kannst dann ja nachsehen wer sich drauf meldet.

Zu dem anderen kann ich jetzt nichts sagen - dazu bräuchte ich entweder mehr Code oder einen Testlink.
 
Zurück
Oben