Naam van cookie veranderen

Status
Niet open voor verdere reacties.

rutje1

Gebruiker
Lid geworden
17 feb 2006
Berichten
377
Hallo,

Ik wil het script wat hieronder staat graag 2x gebruiken op mijn site. Het maakt nu cookies aan die precies hetzelfde zijn (omdat ik nog nix veranderd heb) dus ze overschrijven elkaar.

Hoe kan ik het beste het cookie wijzigen zodat ze elkaar niet overschrijven?
Code:
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);


Script is van gigadesign .

Graag uw hulp zodat de naam van het cookie anders is.
 
24 uur gewacht en helaas nog geen reactie/hulp.
Ik heb echt een oplossing nodig dus GRAAG wat aandacht!

Up!
 
De naam van de cookie is variabel hoor. Kijk maar eens naar de instructie:
readCookie("style");
style is de naam van de cookie. Als je een cookie wil lezen met naam PietjePuk dan wijzig je de instructie in:
readCookie("PietjePuk");

Hetzelfde geldt voor het schrijven van de cookie. Kijk naar:
createCookie("style", title, 365);
Deze instructie maakt een cookie met de naam style. Wil je een cookie schrijven met een andere naam dan wijzig je de naam van de cookie van style naar de gewenste naam. vb:
createCookie("PietjePuk", title, 365);
 
thnx voor je antwoord

Maar ik snap het nog niet helemaal, ik heb al meerdere dingen peprobeerd maar het wil toch maar niet lukken. Zou u anders mijn code uit het 1e bericht kunnen kopieren en daar de wijzigingen in kunnen maken.

Het klinkt een beetje stom en dom maar het wil me maar niet lukken :(
 
Laatst bewerkt:
En wil je dat script tweemaal op dezelfde pagina gebruiken of eenmaal op twee verschillende pagina's. In het laatste geval wijzig je in het script op de tweede pagina het volgende:

Code:
window.onload = function(e) {
  var cookie = readCookie("[COLOR="Red"]style[B]2[/B][/COLOR]");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("[COLOR="Red"]style[B]2[/B][/COLOR]", title, 365);
}

var cookie = readCookie("[COLOR="Red"]style[B]2[/B][/COLOR]", ");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
Zodoende wordt op de tweede pagina de cookie met naam style2 geladen bij het openen van de pagina en bewaard bij het sluiten van de pagina.
 
is het soms verboden dat 1site 2 cookies maakt?

Met uw hulp heb ik het script gewijzigd maar helaas wil het nog niet werken. Weet u wat mijn probleem kan zijn?

Het is dus een pagina waar je keuze kunt maken uit

kleur en grootte.

Er worden nu dus twee cookies gemaakt met het script zoals inn de 1e post.
Maar al kies ik voor bijv. groen, dan vergeet de kleur mijn grootte.

Ik heb de css bestanden al gecontroleerd en daar staat niets dubbelop in :S
 
Ne hoor, twee cookies is niet verboden. Je kan meerdere waarden in een cookie plaatsen als je wil en ook meerdere cookies plaatsen.
Ik zou dat probleem eens rustig moeten kunnen analyseren. Kan je de webpagina met de css-en als bijlage posten? Dan kan ik ze eens bestuderen om te zien wat er precies gebeurt.
 
Zou ik hem mogen mailen?

De website is namelijk onderdeel van een wedstrijd en ik zou het erg jammer vinden als ik het op deze manier openbaar maak.
 
Doe maar, ga via mijn profiel en verzend maar. Ik weet niet of je daar bijlagen mee kan verzenden, maar indien niet stuur ik je een antwoord en kan je mij daarna rechtstreeks de bestanden mailen.
 
Klik op mijn naam aan de linkerkant en kies uit het popup menu stuur email naar...
Je krijgt dan een schermpje waarin je een bericht kan plaatsen dat via email verstuurt wordt.
 
helaas is dat voor mij niet mogelijk (ben geen verenigingslid )
 
stuur maar naar ...
wel even de at vervangen door @ en zonder spaties
Zodra ik je e-mail heb haal ik dat e-mailadres weer weg...
 
Laatst bewerkt:
Het probleem zit hem niet zozeer in de cookie(s), dan wel in de stylesheets.
Enkel de laatst aangeklikte stylesheet wordt gebruikt. Precies of de vorige eigenschappen worden gewoon overboord gegooid.
Klik je op een grootte dan zijn de kleuren weg, klik je op een kleur, dan zijn de groottes weg.
Ik zal eens zien wat er aan gedaan kan worden.
 
wat ik dus dacht is dat er een cookie van mijn keuze wordt gemaakt.

Kies je kleur, dan wordt grootte overschreven. en andersom.
 
Yep, maar als ik het goed begrijp zouden zowel de grootte als de kleur behouden moeten blijven. Of niet? Want nu houdt ie alleen de laatste instelling bij, of dat nou een kleur is of een grootte. Je ziet dat ook op het scherm als je een andere grootte kiest zijn de kleurinstellingen foetsie en omgekeerd.
 
als het mogelijk is zou ik willen dat je een kleur kiest.
Dat is dan dus achtergronden enz.

Met de grootte kies je dan dus normaal - groter - groot.

Eigenlijk moet dus elke combinatie mogelijk zijn.
Alle kleuren in de kleurkeuze, en grootte + lettertype in de andere.
 
Dacht ik wel. Ik zal eens zien wat er van te brouwen valt. :)
Zal vermoedelijk wel niet voor vandaag meer zijn...
 
Weet iemand anders hoe ik dit probleem kan oplossen?
Graag alle hulp.

mvg rutje1
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan