更新不支持的功能提示

This commit is contained in:
枫谷剑仙 2022-07-06 16:01:33 +08:00
parent 56e3447345
commit 2be55678f3
11 changed files with 53 additions and 41 deletions

View File

@ -1,14 +1,22 @@
let needUpdateBrowser = (()=>{
try {
return !Boolean(eval("1n && (undefined?.undefined ?? true)"));
} catch (e) {
if (e.name !== 'SyntaxError') throw e // Throw the error if it is not a SyntaxError
return true;
}
const unsupportFeatures = (()=>{
const features = [
{name: "Optional chaining (?.) / 可选链操作符(?.)", url: "https://caniuse.com/mdn-javascript_operators_optional_chaining", test: ()=>!Boolean(eval("undefined?.undefined || true"))},
{name: "Nullish coalescing operator (??) / 空值合并操作符(??)", url: "https://caniuse.com/mdn-javascript_operators_nullish_coalescing", test: ()=>!Boolean(eval("undefined ?? true"))},
{name: "BigInt value (1n) / BigInt 数据类型(1n)", url: "https://caniuse.com/bigint", test: ()=>!Boolean(eval("1n"))},
{name: "Private class fields (#name) / 类私有域(#name)", url: "https://caniuse.com/mdn-javascript_classes_private_class_fields", test: ()=>!Boolean(eval("class test {#v = 0;}; true;"))},
]
return features.filter(feature=>{
try {
return feature.test();
} catch (e) {
if (e.name !== 'SyntaxError') throw e // Throw the error if it is not a SyntaxError
return true;
}
})
})();
if (needUpdateBrowser) {
let browserVersion = ((UA)=>{
if (unsupportFeatures.length) {
const browserVersion = ((UA)=>{
let regRes;
if (regRes = /\b(Firefox|Chrome)\/([\d\.]+)/ig.exec(UA)) {
return `${regRes[1]} ${regRes[2]}`;
@ -22,26 +30,26 @@ if (needUpdateBrowser) {
let alertStr;
if (/^zh-(?:han(?:s|t)-)?/.test(navigator.language)) {
alertStr =
`🙁浏览器内核版本太老
您的浏览器版本为:
${browserVersion}
您的浏览器内核不支持本程序使用的 可选链操作符(?.) 空值合并操作符(??) BigInt 数据类型
请更新您的浏览器内核到 Firefox(火狐) 74 Chrome(谷歌) 80 Safari 14`;
`🙁浏览器内核版本太老<br>
您的浏览器版本为: ${browserVersion}<br>
您的浏览器内核不支持本程序使用的以下技术
<ol>
${unsupportFeatures.map(feature=>`<li><a href="${feature.url}">${feature.name}</a></li>`).join('')}
</ol>
请更新您的浏览器内核到 Firefox(火狐) 90 Chrome(谷歌) 80 Safari 14.5`;
} else {
alertStr =
`🙁Browser kernel is too old
Your browser is:
${browserVersion}
Your browser core does not support Optional chaining (?.) and Nullish coalescing operator (??) or BigInt value used in this program.
Please update your browser core to Firefox 74 or Chrome 80 or Safari 14`;
`🙁Browser kernel is too old<br>
Your browser is: ${browserVersion}<br>
Your browser kernel does not support the following technologies used by this program:
<ol>
${unsupportFeatures.map(feature=>`<li><a href="${feature.url}">${feature.name}</a></li>`).join('')}
</ol>
Please update your browser core to Firefox 90 or Chrome 80 or Safari 14.5`;
}
alert(alertStr);
document.write(alertStr.replace(/\n/g,'<br />'));
//alert(alertStr);
document.write(alertStr);
}
let denied = ((UA)=>{

Binary file not shown.

Before

Width:  |  Height:  |  Size: 743 KiB

After

Width:  |  Height:  |  Size: 808 KiB

View File

@ -1 +1 @@
[{"code":"ja","ckey":{"card":"fe6ff5a304903f9e0c3d55c0b6f78c2c","skill":"c896f7a36c3982941663990aab3f7a8c"},"updateTime":1656870357464},{"code":"en","ckey":{"card":"2f46080e02cfeb569efc3d913b35ad5b","skill":"07ced9d503e5eca57903b3e647ab909f"},"updateTime":1656065610747},{"code":"ko","ckey":{"card":"b64564ebb790396865710b072d081f56","skill":"a6a5460fadf973398c85a8add76685d0"},"updateTime":1656065610747}]
[{"code":"ja","ckey":{"card":"4aa5a25090e37e449c6ac4db98ee0bc3","skill":"56691f186fe93f58f4f66e655d8f3472"},"updateTime":1657094449823},{"code":"en","ckey":{"card":"2f46080e02cfeb569efc3d913b35ad5b","skill":"07ced9d503e5eca57903b3e647ab909f"},"updateTime":1656065610747},{"code":"ko","ckey":{"card":"b64564ebb790396865710b072d081f56","skill":"a6a5460fadf973398c85a8add76685d0"},"updateTime":1656065610747}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -24,7 +24,7 @@ const dataStructure = 4; //阵型输出数据的结构版本
const cfgPrefix = "PADDF-"; //设置名称的前缀
const className_displayNone = "display-none";
const dataAttrName = "data-value"; //用于储存默认数据的属性名
const isGuideMod = !needUpdateBrowser && Boolean(Number(getQueryString("guide"))); //是否以图鉴模式启动
const isGuideMod = !unsupportFeatures.length && Boolean(Number(getQueryString("guide"))); //是否以图鉴模式启动
if (location.search.includes('&amp;')) {
location.search = location.search.replace(/&amp;/ig, '&');

View File

@ -359,7 +359,7 @@ const cachesMap = new Map([
],
[
"images/cards_ja/CARDS_090.PNG",
"4dc173a8e4d662fc417f09880e5385c5"
"18d1e145e8521565761b24b2ee85b13e"
],
[
"images/cards_ja/CARDS_091.PNG",
@ -5963,7 +5963,7 @@ const cachesMap = new Map([
],
[
"browser-compatibility.js",
"70dba8e64936249e5bde1bb4f4da807e"
"b32e4fcaf3a203d77f1febf9bcc59859"
],
[
"index.html",
@ -5983,16 +5983,20 @@ const cachesMap = new Map([
],
[
"script-universal_function.js",
"1b8c1e957be7558f26df092e7f2fb22b"
"a33e51e967e2f43d4681dd151ba354d1"
],
[
"script.js",
"3416ac8975488a4f872d1aaf3a17479e"
"125e74f07b4627b863179b61d973d941"
],
[
"solo.html",
"b9d613f19ea799bcb0a77c7cd39f726a"
],
[
"style-card.css",
"6e18c2ab05a264530b6af07a6d181368"
],
[
"style-monsterimages.css",
"4b0e7ceb6e209ce52d9e460c40313874"
@ -6203,7 +6207,7 @@ const cachesMap = new Map([
],
[
"monsters-info/ckey.json",
"44f2864af77ba0148d250d1b109394d4"
"d1f5bcf243526bc9fc1601b9cc6a5ecf"
],
[
"monsters-info/mon_en.json",
@ -6211,7 +6215,7 @@ const cachesMap = new Map([
],
[
"monsters-info/mon_ja.json",
"fe6ff5a304903f9e0c3d55c0b6f78c2c"
"4aa5a25090e37e449c6ac4db98ee0bc3"
],
[
"monsters-info/mon_ko.json",
@ -6219,7 +6223,7 @@ const cachesMap = new Map([
],
[
"monsters-info/package-lock.json",
"cf85e99aa187cdc1a7351c9490c9d0b7"
"b3d326b41090b4dda1f995e05163c6e2"
],
[
"monsters-info/package.json",
@ -6231,7 +6235,7 @@ const cachesMap = new Map([
],
[
"monsters-info/skill_ja.json",
"c896f7a36c3982941663990aab3f7a8c"
"56691f186fe93f58f4f66e655d8f3472"
],
[
"doc/export-player-data.html",