如何检测 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');
}
如有任何帮助或有更好的解决方案,我们将不胜感激。
我怀疑您是否真的需要检测浏览器。但无论如何(真的不需要使用图书馆):
// 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;
我使用这些功能,即使用户代理设置为其他功能也能正常工作。
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;
}
无法让 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');
}
如有任何帮助或有更好的解决方案,我们将不胜感激。
我怀疑您是否真的需要检测浏览器。但无论如何(真的不需要使用图书馆):
// 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;
我使用这些功能,即使用户代理设置为其他功能也能正常工作。
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;
}