复制
收藏
提问
全网
帮我写一个获取当前浏览器版本的 ts 函数
5月前
理解问题帮我写一个获取当前浏览器版本的 ts 函数
已完成理解「帮我写一个获取当前浏览器版本的 ts 函数」
展开阅读网页
要编写一个获取当前浏览器版本的TypeScript函数,我们可以利用navigator.userAgent
属性来实现。以下是一个简单的示例函数,它将尝试解析userAgent
字符串以确定浏览器的类型和版本号:
function getBrowserVersion(): { [key: string]: string | undefined } {
const userAgent = navigator.userAgent;
const browsers: { [key: string]: string } = {
'Edge': /Edge\/(\d+)/,
'Chrome': /Chrome\/(\d+)/,
'Firefox': /Firefox\/(\d+)/,
'Safari': /Version\/(\d+).+Safari/,
'IE': /MSIE (\d+)/,
'Opera': /OPR\/(\d+)/
};
const browserInfo: { [key: string]: string | undefined } = {};
for (const [browser, regex] of Object.entries(browsers)) {
const match = userAgent.match(regex);
if (match) {
browserInfo[browser] = match[1];
break;
}
}
return browserInfo;
}
// 使用示例
const browserVersion = getBrowserVersion();
console.log(browserVersion);
这个函数首先定义了一个browsers
对象,其中包含了不同浏览器的正则表达式。然后,它遍历这个对象,使用match
方法来查找userAgent
字符串中与正则表达式匹配的部分。如果找到匹配项,它将浏览器的版本号存储在browserInfo
对象中,并返回这个对象。
请注意,这个函数可能无法识别所有浏览器或所有版本的浏览器,因为userAgent
字符串的格式可能会随着浏览器的更新而变化。此外,一些浏览器可能会发送误导性的userAgent
字符串,以兼容旧的网站。因此,这个函数应该被视为一个基本的示例,可能需要根据实际情况进行调整和扩展。123567
更专业一些
转笔记
专业
帮我写一个获取当前浏览器版本的 ts 函数不在提醒