6

可能重复:
使用 Javascript 检测 Google Chrome 的基于安全功能的方法?
使用Javascript检测谷歌浏览器切换CSS

是否有我可以与 javascript 一起使用的语句,仅在用户使用谷歌浏览器以外的浏览器时才执行代码?

4

4 回答 4

15
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;

if(!is_chrome)
{
//do stuff
}  

编辑:不确定这将如何影响 chrome 移动浏览器。

第二次编辑:这会在 Microsoft Edge 中引发误报,以下代码是更新版本:

var is_chrome = (typeof window.chrome === "object" && navigator.appVersion.indexOf('Edge') === -1)
于 2012-12-20T16:03:33.967 回答
9

当然,我有时会使用这个 javascript 来检查浏览器支持。

var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/
var IE7 = (document.all && !window.opera && window.XMLHttpRequest && navigator.userAgent.toString().toLowerCase().indexOf('Trident/4.0') == -1) ? true : false;
var IE8 = (navigator.userAgent.toString().toLowerCase().indexOf('trident/4.0') != -1);
var IE9 = (navigator.userAgent.toString().toLowerCase().indexOf('trident/5.0') != -1);
var SAFARI = (navigator.userAgent.toString().toLowerCase().indexOf("safari") != -1) && (navigator.userAgent.toString().toLowerCase().indexOf("chrome") == -1);
var FIREFOX = (navigator.userAgent.toString().toLowerCase().indexOf("firefox") != -1);
var CHROME = (navigator.userAgent.toString().toLowerCase().indexOf("chrome") != -1);
var ANDROID= (navigator.appVersion.toString().indexOf("Android", 0)!=-1)
var MOBILE_SAFARI = ((navigator.userAgent.toString().toLowerCase().indexOf("iphone")!=-1) || (navigator.userAgent.toString().toLowerCase().indexOf("ipod")!=-1) || (navigator.userAgent.toString().toLowerCase().indexOf("ipad")!=-1)) ? true : false;

在您的 javascript 中使用带有 if 语句的变量。

于 2012-12-20T16:03:00.337 回答
4

window.chrome在不依赖用户代理字符串的情况下,检查属性是检测 Chrome 的一种相当不错的方法:

if(typeof window.chrome != "object") {
    // not Chrome
} else {
    // it's Chrome (or some fork of Chromium)
}
于 2012-12-20T16:08:13.013 回答
0

虽然这个问题的其他答案是有效的,但我会警告您不要依赖“浏览器嗅探”,除非绝对必要。查看:http ://www.sitepoint.com/why-browser-sniffing-stinks/

相反,您可以使用Modernizr等方便的工具来检测客户端是否可以支持单个功能。

于 2012-12-20T16:12:20.467 回答