如何检测 IE 和 Edge 浏览器?

How do I detect IE and Edge browser?

无法让 Parallax 在 IE 或 Microsoft Edge 中正常工作。我查看了论坛,但没有找到解决问题的方法。我现在想出了一个解决方案。如果用户使用 IE 或 Edge,我想显示一条消息。不确定如何检测正在使用的浏览器是其中之一。

这是我正在尝试使用的一些 javascript 代码:

<script src="https://github.com/ded/bowser/blob/master/src/bowser.js"></script>

    // Determine Browser Used
browser = require('bowser').browser; becomes browser = require('bowser');
if (bowser.msie || bowser.msedge) {
  alert('Hello Microsoft User');
}

如有任何帮助或有更好的解决方案,我们将不胜感激。

http://peaceandplentyinn.mybnbwebsite.com

我怀疑您是否真的需要检测浏览器。但无论如何(真的不需要使用图书馆):

// detect IE8 and above, and edge
if (document.documentMode || /Edge/.test(navigator.userAgent)) {
    alert('Hello Microsoft User!');
}

对我来说更好:

var uA = window.navigator.userAgent,
    isIE = /msie\s|trident\/|edge\//i.test(uA) && !!(document.uniqueID || document.documentMode || window.ActiveXObject || window.MSInputMethodContext),
    checkVersion = (isIE && +(/(edge\/|rv:|msie\s)([\d.]+)/i.exec(uA)[2])) || NaN;

开始 运行: http://jsfiddle.net/Webnewbie/apa1nvu8/

我使用这些功能,即使用户代理设置为其他功能也能正常工作。

if (document.documentMode) 
{
    console.log('Hello Microsoft IE User!');
}

if (!document.documentMode && window.msWriteProfilerMark) {
    console.log('Hello Microsoft Edge User!');
}

if (window.msWriteProfilerMark) 
{
    console.log('Hello Microsoft User!');
}

这会检测到 Chredge/Edgium(又名阿纳海姆)

function isEdg()
{ 

    for (var i = 0, u="Microsoft", l =u.length; i < navigator.plugins.length; i++)
    {
        if (navigator.plugins[i].name != null && navigator.plugins[i].name.substr(0, l) === u)
            return true;
    }

    return false;
}

这会检测 Chromium:

function isChromium()
{ 

    for (var i = 0, u="Chromium", l =u.length; i < navigator.plugins.length; i++)
    {
        if (navigator.plugins[i].name != null && navigator.plugins[i].name.substr(0, l) === u)
            return true;
    }

    return false;
}