可能重复:
Safe feature-based way for detecting Google Chrome with Javascript?
Using Javascript to detect Google Chrome to switch CSS
是否有声明可以与javascript一起使用,只有在用户使用浏览器 其他 而不是谷歌浏览器时才执行代码?
答案 0 :(得分:11)
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)
答案 1 :(得分:7)
当然,我有时会使用这个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语句。
答案 2 :(得分:4)
检查window.chrome
属性是检测Chrome的一种相当好的方法,而不依赖于用户代理字符串:
if(typeof window.chrome != "object") {
// not Chrome
} else {
// it's Chrome (or some fork of Chromium)
}
答案 3 :(得分:0)
虽然这个问题的其他答案都有效,但我会警告你反对依赖“浏览器嗅探”除非绝对必要。查看:http://www.sitepoint.com/why-browser-sniffing-stinks/
相反,您可以使用Modernizr等便捷工具来检测客户端是否支持单个功能。