可能重复:
使用 Javascript 检测 Google Chrome 的基于安全功能的方法?
使用Javascript检测谷歌浏览器切换CSS
是否有我可以与 javascript 一起使用的语句,仅在用户使用谷歌浏览器以外的浏览器时才执行代码?
可能重复:
使用 Javascript 检测 Google Chrome 的基于安全功能的方法?
使用Javascript检测谷歌浏览器切换CSS
是否有我可以与 javascript 一起使用的语句,仅在用户使用谷歌浏览器以外的浏览器时才执行代码?
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)
当然,我有时会使用这个 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 语句的变量。
window.chrome
在不依赖用户代理字符串的情况下,检查属性是检测 Chrome 的一种相当不错的方法:
if(typeof window.chrome != "object") {
// not Chrome
} else {
// it's Chrome (or some fork of Chromium)
}
虽然这个问题的其他答案是有效的,但我会警告您不要依赖“浏览器嗅探”,除非绝对必要。查看:http ://www.sitepoint.com/why-browser-sniffing-stinks/
相反,您可以使用Modernizr等方便的工具来检测客户端是否可以支持单个功能。