From cc728bf6fa679db97985ca9ebc70b81e41c846de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Thu, 8 Oct 2020 03:01:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=A6=96=E6=AC=A1=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E6=97=B6=EF=BC=8C=E9=A1=B5=E9=9D=A2=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E4=B8=8D=E5=A6=82=E6=95=B0=E6=8D=AE=E5=8A=A0=E8=BD=BD=E5=BF=AB?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script.js | 61 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 46 insertions(+), 15 deletions(-) diff --git a/script.js b/script.js index 5a021454..ebda8527 100644 --- a/script.js +++ b/script.js @@ -365,16 +365,19 @@ window.onload = function() { langSelectDom.options.add(new Option(lang.name, lang.i18n)) ); - const parameter_i18n = getQueryString("l") || getQueryString("lang"); //获取参数指定的语言 - const browser_i18n = (navigator.language || navigator.userLanguage); //获取浏览器语言 - currentLanguage = languageList.find(lang => { //筛选出符合的语言 - if (parameter_i18n) //如果已指定就用指定的语言 - return parameter_i18n.includes(lang.i18n); - else //否则筛选浏览器默认语言 - return browser_i18n.includes(lang.i18n); - }) || - languageList[0]; //没有找到指定语言的情况下,自动用第一个语言(英语) - document.head.querySelector("#language-css").href = "languages/" + currentLanguage.i18n + ".css"; + if (currentLanguage == undefined) + { + const parameter_i18n = getQueryString("l") || getQueryString("lang"); //获取参数指定的语言 + const browser_i18n = (navigator.language || navigator.userLanguage); //获取浏览器语言 + currentLanguage = languageList.find(lang => { //筛选出符合的语言 + if (parameter_i18n) //如果已指定就用指定的语言 + return parameter_i18n.includes(lang.i18n); + else //否则筛选浏览器默认语言 + return browser_i18n.includes(lang.i18n); + }) || + languageList[0]; //没有找到指定语言的情况下,自动用第一个语言(英语) + document.head.querySelector("#language-css").href = "languages/" + currentLanguage.i18n + ".css"; + } const langOptionArray = Array.from(langSelectDom.options); langOptionArray.find(langOpt => langOpt.value == currentLanguage.i18n).selected = true; @@ -385,12 +388,16 @@ window.onload = function() { dataSourceList.forEach(ds => dataSelectDom.options.add(new Option(ds.source, ds.code)) ); - const parameter_dsCode = getQueryString("s"); //获取参数指定的数据来源 - currentDataSource = parameter_dsCode ? - (dataSourceList.find(ds => ds.code == parameter_dsCode) || dataSourceList[0]) : //筛选出符合的数据源 - dataSourceList[0]; //没有指定,直接使用日服 + + if (currentDataSource == undefined) + { + const parameter_dsCode = getQueryString("s"); //获取参数指定的数据来源 + currentDataSource = parameter_dsCode ? + (dataSourceList.find(ds => ds.code == parameter_dsCode) || dataSourceList[0]) : //筛选出符合的数据源 + dataSourceList[0]; //没有指定,直接使用日服 + document.body.classList.add("ds-" + currentDataSource.code); + } - document.body.classList.add("ds-" + currentDataSource.code); const dataSourceOptionArray = Array.from(dataSelectDom.options); dataSourceOptionArray.find(dataOpt => dataOpt.value == currentDataSource.code).selected = true; //▼添加数据来源列表结束 @@ -403,6 +410,30 @@ function loadData(force = false) if (force) console.info('强制更新数据'); const _time = new Date().getTime(); + + if (currentLanguage == undefined) + { + const parameter_i18n = getQueryString("l") || getQueryString("lang"); //获取参数指定的语言 + const browser_i18n = (navigator.language || navigator.userLanguage); //获取浏览器语言 + currentLanguage = languageList.find(lang => { //筛选出符合的语言 + if (parameter_i18n) //如果已指定就用指定的语言 + return parameter_i18n.includes(lang.i18n); + else //否则筛选浏览器默认语言 + return browser_i18n.includes(lang.i18n); + }) || + languageList[0]; //没有找到指定语言的情况下,自动用第一个语言(英语) + document.head.querySelector("#language-css").href = "languages/" + currentLanguage.i18n + ".css"; + } + + if (currentDataSource == undefined) + { //解决首次运行时,页面加载不如数据加载快的问题 + const parameter_dsCode = getQueryString("s"); //获取参数指定的数据来源 + currentDataSource = parameter_dsCode ? + (dataSourceList.find(ds => ds.code == parameter_dsCode) || dataSourceList[0]) : //筛选出符合的数据源 + dataSourceList[0]; //没有指定,直接使用日服 + document.body.classList.add("ds-" + currentDataSource.code); + } + //开始读取解析怪物数据 const sourceDataFolder = "monsters-info";