使用Javascript检测Google Chrome来切换CSS

我一直在玩不同的脚本,我发现一个适用于除Chrome之外的所有内容…这是我一直在使用的.CSS文件中的代码.我尝试将浏览器名称设置为“Chrome”,但这并不奏效.
if (browser == 'Firefox') {
    document.write('<link rel="stylesheet" href="../component/fireFoxdefault.css" />');
}
if (browser == 'Safari') {
    document.write('<'+'link rel="stylesheet" href="../component/default.css" />');
}

解决方法

使用以下内容检测chrome:
var isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;

资料来源:http://davidwalsh.name/detecting-google-chrome-javascript

更新(2015-07-20):

上述解决方案并不总是奏效. this answer可以找到更可靠的解决方案(见下文).话虽如此,我会avoid browser detection and go with feature detection instead

var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);

您可以像这样包含一个专门针对chrome的css文件

if (isChrome) {
    document.write('<'+'link rel="stylesheet" href="../component/chromeDefault.css" />');
}

更新(2014-07-29):

@gillesc有一个更优雅的建议,用于检测Chrome,他发布在下面的评论中,也可以在question上查看.

var isChrome = !!window.chrome

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...