我正在尝试创建一个确定浏览器的功能,但未检测到新的Microsoft Edge

时间:2016-06-16 01:08:46

标签: javascript

我正在尝试设置一个函数来确定用户当前正在浏览的浏览器。由于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始终支持日志。我希望它被记录,因为它无法使用。

1 个答案:

答案 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;

希望这会有所帮助。