我正在尝试设置一个函数来确定用户当前正在浏览的浏览器。由于Web应用程序的动态,我正在放弃对IE的支持。随着Microsoft Edge重新获得了Netscape'的价值。这也是由Firefox返回我不能像IE一样简单。这是我的代码
(function() { //Check which browser they are using - then let them know if its supported - if not they will be redirected to another page if so they will remain
var ie = (/trident/i).test(navigator.userAgent);
if (ie)
{
console.log("IE is not supported");
}
else
{
if (navigator.appName === 'Netscape')
{
if (navigator.userAgent.indexOf("Firefox"))
{
console.log("Your browser is supported");
}
else
{
console.log("Your browser is not supported");
}
}
else
{
console.log("Your browser is supported");
}
}
})();
我想保留Firefox,但我想让我知道Edge也不受支持。我怎样才能解决这个问题?除了一件事,一切都很好。 Edge始终支持日志。我希望它被记录,因为它无法使用。
答案 0 :(得分:1)
看起来桌面的完整用户代理字符串是:
Mozilla/5.0 (Windows NT 10.0; <64-bit tags>) AppleWebKit/<WebKit Rev> (KHTML, like Gecko) Chrome/<Chrome Rev> Safari/<WebKit Rev> Edge/<EdgeHTML Rev>.<Windows Build>
这是根据Microsoft的文档:https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx
所以,我想你只需要搜索子字符串'Edge /',你就会有答案。我没试过这个,但这对我来说似乎是合理的。像这样:
var isEdge = window.navigator.userAgent.indexOf('Edge/') ? true : false;
希望这会有所帮助。