Webtip: Cookies met javascript (jQuery)

Webtip: Cookies met javascript (jQuery)

Het javascript framework jQuery is door de vele plugins die er beschikbaar voor zijn een veelzijdig framework. Vandaag gaan we kijken hoe we met javascript cookies kunnen instellen, opvragen en verwijderen. Dit is handig voor als je bijvoorbeeld een javascript-gestuurd element iets wilt laten onthouden. Kijk maar eens naar de WK widget op de frontpage van Skindo, deze onthoudt welke status de de widget heeft (open- of ingeklapt), zodat de status hetzelfde blijft, ook al herstart je de browser.

Om de cookies te kunnen gebruiken, maken we gebruik van jQuery en de jQuery Cookie Plugin. Download deze dus beiden voordat je deze webtip verder kunt gebruiken!

Voorbereiding

Om alles te laten werken moet we eerst de javascript-codes aanroepen. Tussen de <head> en </head> tags zetten we dus het volgende (uiteraard aanpassen naar je eigen paden):

<script src="jquery.js"></script> 
<script src="jquery.cookie.js"></script> 

Een cookie instellen

Een cookie instellen is nu een eitje! Het onderstaande voorbeeld stelt een cookie in met de naam 'test_status' met de waarde: 'uitgeklapt'. Deze cookie is beschikbaar voor de gehele website (path: '/') en verloopt binnen 10 dagen.

function setCookie() {
    $.cookie('test_status', 'uitgeklapt', { path: '/', expires: 10 });
    return false;
}

Mocht je nu wat specifiekere verloop-tijden willen gebruiken dan kun je eens naar het volgende voorbeeld kijken (verdere info over getTime() vind je hier):

function setCookie() {
    var date = new Date();     
    date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000));     
    $.cookie('test_status', 'uitgeklapt', { path: '/', expires: date });     
    return false; 
}

Cookie ophalen

Wil je nu de cookie ophalen, dan kun je het volgende gebruiken. Het onderstaande voorbeeld laat de cookie-waarde in een popup zien:

function getCookie() {
    alert($.cookie('test_status'));
    return false;
}

Cookie verwijderen

En de cookie verwijderen doen we als volgt:

function deleteCookie() {
    $.cookie('test_status', null);
    return false;
}

Gebruik

De bovenstaande voorbeelden zijn (bijvoorbeeld) als volgt te gebruiken:

Stel cookie in
Verkrijg cookie
Verwijder cookie

Reacties