There seem to be million of ways to do that – here is the most parsimonious solution that works for me even under difficult conditions and in different browsers.
// should be run in a $(document).ready(function(){ bracket }); // if there is no cookie we set one if (document.cookie.indexOf("color")!== -1 { document.cookie = "color=white"; } // we need a body class without any background definition // and a class for body.black that has background:black if (document.cookie.indexOf("black") === -1) { // switch to the new .black class $("body").toggleClass("black"); // this is also possible in the iframe $(#iframe").contents().find("body").toggleClass("black"); } // link or whatever is being clicked for the effect $(".place").click(function () { if (document.cookie.indexOf("white") !== -1) { document.cookie = "color=black"; } else { document.cookie = "color=white"; } // reload page with a small delay setTimeout( function() { location.reload() }, 250 );