优化浏览器判断代码
This commit is contained in:
parent
54457c0f60
commit
0d017948d2
|
@ -1,38 +1,47 @@
|
|||
let needUpdateBrowser = (()=>{
|
||||
try {
|
||||
return !Boolean(eval("undefined?.undefined?.undefined ?? true"));
|
||||
return !Boolean(eval("undefined?.undefined ?? true"));
|
||||
} catch (e) {
|
||||
if (e.name !== 'SyntaxError') throw e // Throw the error if it is not a SyntaxError
|
||||
return true;
|
||||
}
|
||||
}
|
||||
)();
|
||||
})();
|
||||
|
||||
if (needUpdateBrowser)
|
||||
{
|
||||
let browserVersion = ((UA)=>{
|
||||
let regRes;
|
||||
if (regRes = /\b(Firefox|Chrome)\/([\d\.]+)/ig.exec(navigator.userAgent))
|
||||
if (regRes = /\b(Firefox|Chrome)\/([\d\.]+)/ig.exec(UA))
|
||||
{
|
||||
return `${regRes[1]} ${regRes[2]}`;
|
||||
}else if (regRes = /\bVersion\/([\d\.]+)\s+.*\b(Safari)\//ig.exec(navigator.userAgent))
|
||||
}else if (regRes = /\bVersion\/([\d\.]+)\s+.*\b(Safari)\//ig.exec(UA))
|
||||
{
|
||||
return `${regRes[2]} ${regRes[1]}`;
|
||||
}else
|
||||
{
|
||||
navigator.userAgent;
|
||||
UA;
|
||||
}
|
||||
})(navigator.userAgent);
|
||||
|
||||
let alertStr = `🙁浏览器内核版本太老 | Browser kernel is too old
|
||||
您的浏览器版本为 | Your browser is:
|
||||
let alertStr;
|
||||
if (/^zh-(?:han(?:s|t)-)?/.test(navigator.language)) {
|
||||
alertStr = `🙁浏览器内核版本太老
|
||||
您的浏览器版本为:
|
||||
${browserVersion}
|
||||
|
||||
您的浏览器不支持本程序使用的 可选链操作符(?.) 和 空值合并操作符(??)。
|
||||
|
||||
请更新您的浏览器到 Firefox(火狐) ≥ 74 或 Chrome(谷歌) ≥ 80 或 Safari(苹果) ≥ 13.1。`;
|
||||
} else {
|
||||
alertStr = `🙁Browser kernel is too old
|
||||
Your browser is:
|
||||
${browserVersion}
|
||||
|
||||
Your browser does not support Optional chaining (?.) and Nullish coalescing operator (??) used in this program.
|
||||
|
||||
请更新您的浏览器到 Firefox(火狐) ≥ 74 或 Chrome(谷歌) ≥ 80 或 Safari(苹果) ≥ 13.1。
|
||||
Please update your browser to Firefox ≥ 74 or Chrome ≥ 80 or Safari ≥ 13.1.`;
|
||||
}
|
||||
|
||||
alert(alertStr);
|
||||
document.write(alertStr.replace(/\n/g,'<br />'));
|
||||
}
|
Loading…
Reference in New Issue