首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用javascript定位Edge浏览器

如何使用javascript定位Edge浏览器
EN

Stack Overflow用户
提问于 2015-07-30 18:26:05
回答 11查看 98.3K关注 0票数 42

我知道你应该在可能的地方做特征检测,但是你能在Javascript中检测到浏览器是否是Microsoft Edge浏览器吗?

我维护了一个旧产品,我想显示一个警告,一些功能可能会被破坏,而不需要投入大量时间来修复旧代码。

EN

回答 11

Stack Overflow用户

发布于 2015-10-05 05:04:14

尝试检测功能,而不是特定的浏览器。它更适合未来。只有极少数情况下才应该使用浏览器检测。

有了这个方法:一种选择是使用库(有许多错综复杂的User Agent字符串),或者手动解析window.navigator.userAgent

使用解析器库的

代码语言:javascript
复制
# https://github.com/faisalman/ua-parser-js.

var parser = new UAParser();
var result = parser.getResult();

var name = result.browser.name;
var version = result.browser.version;

使用Javascript原始方法

代码语言:javascript
复制
# Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) \
# Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136

window.navigator.userAgent.indexOf("Edge") > -1
票数 56
EN

Stack Overflow用户

发布于 2017-10-25 13:01:10

下面是检测Edge浏览器的简单脚本

代码语言:javascript
复制
if (/Edge/.test(navigator.userAgent)) {
    alert('Hello Microsoft User!');
}

解释:

代码语言:javascript
复制
/Edge/

搜索字符串'Edge‘的正则表达式--然后我们根据'navigator.userAgent’属性对其进行测试

票数 28
EN

Stack Overflow用户

发布于 2015-07-30 19:35:15

useragent字符串包含Edge/ 12.9600,其中12.9600是我测试的版本号。这与Internet Explorer在“Edge”模式下的用户代理字符串完全不同。

Edge的用户代理字符串:

Mozilla/5.0 (Windows NT 10.0;Win64;x64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/42.0.2311.135Safari/537.36边缘/12.9600

边缘模式下IE10的用户代理字符串:

像壁虎一样的

Mozilla/5.0 (Windows NT 6.3;WOW64;Trident/7.0;.NET4.0E;.NET4.0C;InfoPath.3;.NET CLR 3.5.30729;.NET CLR 2.0.50727;.NET CLR 3.0.30729;Tablet PC 2.0;rv:11.0)

因此,当使用javascript时,只需检查用户代理字符串中的“Edge”。当您还测试其他浏览器时,请确保先检查Edge,否则会得到误报(例如Chrome或Safari...)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31721250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档