/    Sign up×
Community /Pin to ProfileBookmark

Theme Chooser of Slick skin for Nucleus

Hi,
I have just installed slick skin for my Nucleus CMS. It uses a theme chooser, but it is not working in most IE I have tried. It always works in Firefox.

Here is the code, thank you:

// Variables

var DEFAULT_THEME = “graphite”; // this is the default theme for first time visitors.
var TEMPLATEDIR = “skins/slick/”; // path to skins dir
var THEME_KEY = “stheme”; // this key is used to store the selected theme.

// DO NOT EDIT BELOW unless you know what you’re doing

// Cookie handling routines

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (“;”, offset);
if (endstr == -1) { endstr = document.cookie.length; }
return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
var arg = name + “=”;
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg) {
return getCookieVal (j);
}
i = document.cookie.indexOf(” “, i) + 1;
if (i == 0) break;
}
return null;
}

function DeleteCookie (name,path,domain) {
if (GetCookie(name)) {
document.cookie = name + “=” +
((path) ? “; path=” + path : “”) +
((domain) ? “; domain=” + domain : “”) +
“; expires=Thu, 01-Jan-70 00:00:01 GMT”;
}
}

function SetCookie (name,value,expires,path,domain,secure) {
expires = new Date;
expires.setMonth(expires.getMonth()+9);
document.cookie = name + “=” + escape (value) +
((expires) ? “; expires=” + expires.toGMTString() : “”) +
((path) ? “; path=” + path : “”) +
((domain) ? “; domain=” + domain : “”) +
((secure) ? “; secure” : “”);
}
// End of Cookie handling routines.

// the main routine.

function changeStyleSheet() {
var s = GetCookie(THEME_KEY); // check for cookie theme.
if (s == null) s = DEFAULT_THEME; // if no cookie then set up default theme.
document.getElementById(‘colors’).href = TEMPLATEDIR+s+”.css”; // this bit does all the work rewriting the stylesheet link href.
}

function setTheme(name) {
DeleteCookie(THEME_KEY);
SetCookie(THEME_KEY, name);
document.getElementById(‘colors’).href = TEMPLATEDIR+name+”.css”; // this bit does all the work rewriting the stylesheet link href.
self.location = self.location; // simple trick to reload the current document
}

changeStyleSheet(); // call the main routine.

to post a comment
JavaScript

0Be the first to comment 😎

×

Success!

Help @Thoth spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.2,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,
)...