在Javascript中,我如何获取Edge的browserUserAgent的输出并将其转换为Edge'的浏览
In Javascript, how would I take the output of browserUserAgent for Edge and converti it into Edge's browser version?
我正在为我工作的学校进行浏览器检查。我有一个.js文件,我在其中将信息拉到html页面,以显示浏览器的名称及其版本。不幸的是,对于Windows Edge,显示的令牌是13.1或12.1,具体取决于您使用的Edge版本。
这些是edgeHTML版本,而不是Edge的实际显示版本。我一直试图找到一种方法来显示实际的Edge版本20和25,但没有取得任何进展。
我尝试过使用IF ELSE语句,但当我这样做时,无论我使用的是Edge 20还是Edge 25,它都只是呈现语句IF部分第二行中列出的数字。请帮忙。
case browserUserAgent.indexOf('edge') >= -1: // browser is Edge, check the gorilla first
browserAgent = 'Edge';
browserVersion = browserUserAgent.split('edge/');
browserVersion = browserVersion[1].split(0, 3);
browserVersion = browserVersion[0];
if (browserVersion = '12.1') {
browserVersion = '20';
} else if (browserVersion = '13.1') {
browserVersion = '25';
}
break;
由于(公共)EdgeHTML版本对Edge浏览器版本进行1对1映射,因此可以执行以下操作:
// map (major versions of) EdgeHTML to Edge
var EDGEHTML_TO_EDGE = {
12: 20,
13: 25
};
// regexp which matches edge user strings
var EDGE_REGEXP = /Edge'/('d+)/;
// check if the regexp matches the user agent
var edgeMatch = browserUserAgent.match(EDGE_REGEXP);
if (edgeRegexp) {
var edgeHtmlVersion = edgeMatch[1]; // the major EdgeHTML version number
var edgeVersion = EDGEHTML_TO_EDGE[edgeHtmlVersion];
document.write('You are running Edge ' + edgeVersion);
}
编辑:一种更简单直接的方法:
if (/Edge'/12'.1/.test(browserUserAgent)) {
document.write('You are running Edge 20');
} else if (/Edge'/13'.1/.test(browserUserAgent)) {
document.write('You are running Edge 25');
}
我还没能自己测试,因为我没有Edge,但它应该会给你这个想法。我基本上得到了用户代理报告的主要版本号,然后将其映射到已知的Edge浏览器版本。
如果您也打算测试其他浏览器,可以尝试浏览器npm
包。
相关文章:
- 在JavaScript中输出转义字符
- 如何在jQuery中将函数的输出分配给变量
- 锚点元素不't使用svg时,请打开EDGE上的href
- 如何在Edge中下载图像/png数据URI
- Javascript,输出结果后页面不断刷新
- Datetime格式为Friendly Time.Moment JS输出错误
- 如何将angularjs中的javascript字符串输出为循环数组
- HTML5FileReader输出到D3.js图表
- console.log以外的Javascript输出函数
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- PHP中的数组输出
- Adobe Edge:动画完成时添加onComplete处理程序
- 以不同的顺序输出数据
- 使用Rivets.js输出类
- 在Chrome扩展内部输出Google API调用
- 如何为d3.js图表输出组织/嵌套数据
- 将IndexedDB中的数据拉入数组,并通过ReactJS输出
- 一个ajax循环有两个输出错误innerHTML
- 快速排序程序未正确输出
- 在Javascript中,我如何获取Edge的browserUserAgent的输出并将其转换为Edge'的浏览