优化浏览器判断代码

This commit is contained in:
枫谷剑仙 2021-09-14 22:03:46 +08:00
parent 54457c0f60
commit 0d017948d2
1 changed files with 18 additions and 9 deletions

View File

@ -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 />'));
}