是否有任何对象或方法返回关于浏览器的数据,客户端?
例如,我需要检测浏览器是否为IE (Interner Explorer)。以下是代码片段。
function isInternetExplorer()
{
if(navigator.appName.indexOf("Microsoft Internet Explorer") != -1)
{
return true;
}
return false;
}
有没有更好的方法?
发布于 2013-04-17 16:40:41
JavaScript端-您可以通过以下方式获取浏览器名称...
if(window.navigator.appName == "") OR if(window.navigator.userAgent == "")
发布于 2019-11-01 03:27:55
我发现了一个纯粹的Javascript解决方案here,它似乎适用于PC和Mac的主要浏览器。我在两个平台上都在BrowserStack上测试了它,它工作起来就像做梦一样。Jason D‘’Souza在这篇文章中发布的Javascript解决方案真的很好,因为它给了你很多关于浏览器的信息,但是它有一个问题,那就是识别Edge对它来说看起来像Chrome。他的代码可能会用这个解决方案进行一点修改,使其也适用于Edge。下面是我找到的代码片段:
var browser = (function (agent) {
switch (true) {
case agent.indexOf("edge") > -1: return "edge";
case agent.indexOf("edg") > -1: return "chromium based edge (dev or canary)";
case agent.indexOf("opr") > -1 && !!window.opr: return "opera";
case agent.indexOf("chrome") > -1 && !!window.chrome: return "chrome";
case agent.indexOf("trident") > -1: return "ie";
case agent.indexOf("firefox") > -1: return "firefox";
case agent.indexOf("safari") > -1: return "safari";
default: return "other";
}
})(window.navigator.userAgent.toLowerCase());
console.log(window.navigator.userAgent.toLowerCase() + "\n" + browser);
发布于 2017-04-03 20:19:49
https://stackoverflow.com/questions/12489546
复制相似问题