Likes Likes:  0
Resultaten 1 tot 5 van de 5
Geen
  1. #1
    # martin
    Probleem met stijlscript
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Probleem met stijlscript

    Dag mensen,

    Ik zag eens een script, waarmee je bezoekers een stijl kunt laten kiezen. Je
    kunt op een bepaalde pagina een stijl selecteren, en dit blijft door middel
    van een cookie op alle pagina's hetzelfde. Het probleem is echter dat dit op
    alle pagina's binnen die map zo is. Dus als je in "../algemeen/index.php"
    een stijl kiest, blijft dit zo op "../algemeen/inhoud.php" en
    "../algemeen/nogiets.php". Maar ga je naar "../contact/index.php" is de
    standaardstijl weer geactiveerd. Het cookie lijkt je voorkeur dus op te
    slaan voor een bepaalde map, in plaats van voor alle pagina's binnen het
    domein.

    Mijn wens is dat je vanaf iedere pagina een stijl kunt kiezen, die
    geactiveerd is zolang je op het domein blijft en tot je eventueel een andere
    kiest.

    Dit is de code in de pagina:

    <head>

    <link
    rel="stylesheet"
    href="stijl/oranje.css"
    type="text/css"
    title="Oranje"
    >


    <link
    rel="alternate stylesheet"
    href="stijl/blauw.css"
    type="text/css" title="Blauw"
    >


    <link
    rel="alternate stylesheet"
    href="stijl/zwartwit.css"
    type="text/css"
    title="Zwartwit"
    >


    <script
    type="text/javascript"
    src="http://www.example.com/scripts/config.js"
    >


    </script>

    </head>

    <body onload="init()">

    <script
    type="text/javascript"
    >


    SetTheme();

    </script>


    [ inhoud ]

    <img
    onclick='SetStyleSheet("Oranje");'
    title="Oranje stijl instellen"
    src="design/or-ico.gif"
    alt="Oranje"
    >


    <img
    onclick='SetStyleSheet("Blauw");'
    title="Blauwe stijl instellen"
    src="design/bl-ico.gif"
    alt="Blauw"
    >


    <img
    onclick='SetStyleSheet("Zwartwit");'
    title="Zwart-wit stijl instellen"
    src="design/zw-ico.gif"
    alt="Zwartwit"
    >


    </body>


    Dus wanneer je een bepaalde stijl kiest, bijvoorbeeld blauw, gaat dit goed
    als je in die map blijft. Ga je naar een andere map is de standaard oranje
    stijl weer geactiveerd. Je moet dus per map aangeven welke stijl de
    bedoeling is, terwijl ik wil dat je dat voor het gehele domein maar één keer
    hoeft te doen.


    .../algemeen/index.php [kies blauw]
    .../algemeen/pagina2.php [blijft blauw]
    .../algemeen/pagina3.php [blijft blauw]

    .../anderemap/index.php [weer oranje]


    Het script dat ik gebruik is het volgende:

    function SetStyleSheet(newtitle)
    {
    SetStyleSheetInternal(newtitle);
    }
    function SetStyleSheetInternal(newtitle)
    {
    if (!document.getElementsByTagName)
    {
    return;
    }

    var i;
    var savedtitle = '';
    var links = document.getElementsByTagName("link");

    if (!newtitle)
    {
    newtitle = savedtitle = ReadCookie("wanl-css", false);
    }

    if (!newtitle)
    {
    newtitle = GetPreferredStyleSheet();
    }

    var activesheet = null;
    for (i = 0; i < links.length; i++)
    {
    var a = links[i];
    var rel = a.getAttribute('rel');
    var title = a.getAttribute('title');

    if (rel.indexOf("style") != -1 && title)
    {
    a.disabled = true;
    if (title == newtitle)
    {
    activesheet = a;
    }
    }
    }
    if (activesheet)
    {
    activesheet.disabled = false;
    }
    if (newtitle != savedtitle)
    {
    CreateCookie("wanl-css", newtitle, 365, false);
    }
    }

    function GetActiveStyleSheet()
    {
    if (!document.getElementsByTagName)
    {
    return null;
    }

    var i;
    var links = document.getElementsByTagName("link");

    for(i = 0; i < links.length; i++)
    {
    var a = links[i];
    var rel = a.getAttribute('rel');
    var title = a.getAttribute('title');

    if (rel.indexOf("style") != -1 && title && !a.disabled)
    {
    return title;
    }
    }
    return null;
    }

    function GetPreferredStyleSheet()
    {
    if (!document.getElementsByTagName)
    {
    return null;
    }

    var i, a;
    var links = document.getElementsByTagName("link");

    for (i = 0; i < links.length; i++)
    {
    a = links[i];
    var rel = a.getAttribute('rel');
    var title = a.getAttribute('title');

    if (rel.indexOf("style") != -1 && rel.indexOf("alt") == -1 && title)
    {
    return title;
    }
    }
    return null;
    }

    function CreateCookie(name,value,days,useLang)
    {

    var langString = "";

    var cookie = name + langString + "=" + value + ";";

    if (days)
    {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    cookie += " expires=" + date.toGMTString() + ";";
    }
    cookie +=

    document.cookie = cookie;
    }

    function ReadCookie(name, useLang)
    {

    var langString = "";

    var nameEQ = name + langString + "=";
    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;
    }

    function SetTheme()
    {
    SetStyleSheetInternal();
    return true;
    }

    function init()
    {
    SetStyleSheetInternal();
    }


    Zou iemand met kennis het script willen aanpassen waardoor het voor het
    gehele domein werkt, in plaats van alleen een map?

    Alvast hartelijk dank!

    Groetjes Martin.



  2. #2
    Ronald Klip
    Probleem met stijlscript
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Probleem met stijlscript

    winamp schreef:
    >
    > standaardstijl weer geactiveerd. Het cookie lijkt je voorkeur dus op te
    > slaan voor een bepaalde map, in plaats van voor alle pagina's binnen het
    > domein.


    [snip irrelevante code]

    > function CreateCookie(name,value,days,useLang)
    > {
    >
    > var langString = "";
    >
    > var cookie = name + langString + "=" + value + ";";
    >
    > if (days)
    > {
    > var date = new Date();
    > date.setTime(date.getTime()+(days*24*60*60*1000));
    > cookie += " expires=" + date.toGMTString() + ";";
    > }
    > cookie +=
    >
    > document.cookie = cookie;
    > }
    >
    > Zou iemand met kennis het script willen aanpassen waardoor het voor het
    > gehele domein werkt, in plaats van alleen een map?


    Het is client-side javascript; je zit dus in de verkeerde groep.

    Anyway: zorg ervoor dat het script ook het pad aangeeft, in dit geval / .
    Oftewel voeg op de juiste plek path=/; toe aan het script.

    --
    groet, Ronald

  3. #3
    # martin
    Probleem met stijlscript
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Probleem met stijlscript

    > winamp schreef:

    Winamp schreef? Is er iets mis met de instellingen die ik gebruik, volgens
    mij is het "# martin"?

    >> function CreateCookie(name,value,days,useLang)
    >> {
    >>
    >> var langString = "";
    >>
    >> var cookie = name + langString + "=" + value + ";";
    >>
    >> if (days)
    >> {
    >> var date = new Date();
    >> date.setTime(date.getTime()+(days*24*60*60*1000));
    >> cookie += " expires=" + date.toGMTString() + ";";
    >> }
    >> cookie +=
    >>
    >> document.cookie = cookie;
    >> }
    >>
    >> Zou iemand met kennis het script willen aanpassen waardoor het voor
    >> het gehele domein werkt, in plaats van alleen een map?

    >
    > Het is client-side javascript; je zit dus in de verkeerde groep.
    >
    > Anyway: zorg ervoor dat het script ook het pad aangeeft, in dit geval
    > / . Oftewel voeg op de juiste plek path=/; toe aan het script.


    Bedankt, met je tip kon ik het script bijwerken en het voldoet nu:


    function CreateCookie(name,value,days,useLang)
    {

    var langString = "";

    var cookie = name + langString + "=" + value + ";";

    if (days)
    {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    cookie += " expires=" + date.toGMTString() + ";";
    }
    cookie += " path=/";

    document.cookie = cookie;
    }


    Groetjes Martin.



  4. #4
    Ronald Klip
    Probleem met stijlscript
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Probleem met stijlscript

    schreef:
    > > winamp schreef:

    >
    > Winamp schreef? Is er iets mis met de instellingen die ik gebruik, volgens
    > mij is het "# martin"?


    Mijn client heeft wat moeite met dat # aan het begin van je
    'naam', misschien omdat # als een quote-teken wordt gezien. De naam wordt
    dan geheel weggelaten bij een reply. Ik had er nu even snel iets
    associatiefs neergezet. Een volgende keer zal ik netjes je naam gebruiken


    --
    groet, Ronald

  5. #5
    # martin
    Probleem met stijlscript
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Probleem met stijlscript

    Hieronder volgt een reactie op dit bericht:
    >> Dag mensen,
    >>
    >> Ik zag eens een script, waarmee je bezoekers een stijl kunt laten
    >> kiezen. [..]
    >> Mijn wens is dat je vanaf iedere pagina een stijl kunt kiezen, die
    >> geactiveerd is zolang je op het domein blijft en tot je eventueel
    >> een andere kiest.


    > Ik gebruik zelf zo'n 5 regeltjes code en voor zover ik weet wordt het
    > ook in elke
    > browser ondersteund. Met of zonder Javascript.


    [script]

    Bedankt voor de moeite. Is inderdaad minder code. Ik ga zondag kijken of het
    mij ook lukt dit te implementeren :-)

    # martin

    --
    http://www.winampnederlands.nl/handleidingen
    handleidingen voor winamp - media - shoutcast



Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics