diff --git a/js/uhr.js b/js/uhr.js index eb53a63..c053ad5 100644 --- a/js/uhr.js +++ b/js/uhr.js @@ -130,9 +130,45 @@ this.timer = null; this.currentMinute = -1; var userTime = this.options.time; + var hash, params; if (this.options.time === undefined) { this.options.time = new Date(); } + // parse the URL params + hash = window.location.hash; + if (hash !== undefined && typeof hash === 'string' && hash.charAt(0) === '#') { + hash = hash.substring(1); + hash = decodeURIComponent(hash); + params = hash.split('&'); + params.forEach(function (element) { + var pair = element.split('='); + var key = pair[0]; + var value = pair[1]; + switch (key) { + case 'l': + case 'language': + this.options.language = value; + this.options.force = true; + break; + case 't': + case 'theme': + this.options.theme = value; + this.options.force = true; + break; + case 'm': + case 'mode': + this.options.mode = value; + this.options.force = true; + break; + case 's': + case 'status': + this.options.status = value; + this.options.force = true; + break; + } + }.bind(this)); + } + // end parse the URL params setupHTML.bind(this)(); wireFunctionality.bind(this)(); if (userTime !== undefined) {