X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/ed90e77238fc96d33adc9135b4b4af6223154ae1..5299da1556ec4ccf5c93fea0d1c4dcef5f6bb180:/word/quiz.js diff --git a/word/quiz.js b/word/quiz.js index dce5f7a..9436f7a 100644 --- a/word/quiz.js +++ b/word/quiz.js @@ -7,9 +7,12 @@ Array.prototype.shuffle = function () { }; function hashparams() { - // location.hash is not encoded in firefox - const encodedhash = (window.location.href.split('#'))[1] || ''; - return decodeURIComponent(encodedhash).split('#'); + const encodedhash = window.location.href.split('#').slice(1) || ''; + if (encodedhash.length == 1) { + // location.hash is not encoded in firefox + return decodeURIComponent(encodedhash).split('#'); + } + return encodedhash; } class Words { @@ -80,6 +83,15 @@ class Words { get label() { return row[0].replace(/\/.*/, ''); // primary form }, + get html() { + let aliases = this.title.split('/'); + let html = aliases.shift(); + html = html.replace(/\((.+)\)/, '$1'); + for (let alias of aliases) { + html += ` (${alias})`; + } + return html; + }, level: row[1], imgid: row[2], thumb(size = 32) { @@ -126,6 +138,9 @@ class WordQuiz { else if (query === 'level') { this.preset.level = parseInt(val); } + else if (query === 'debug') { + this.preset.debug = true; + } else { this.preset[query] = val; }