【问题标题】:Detect Chrome browser in HTML在 HTML 中检测 Chrome 浏览器
【发布时间】:2010-12-09 18:53:52
【问题描述】:

如何检测 Google Chrome 浏览器? 例如,我可以用这个标签检测 Internet Explorer:

<!--[if lte IE]>
<link href="ie_only.css" rel="stylesheet" type="text/css" />
<![endif]-->

我有一个想法:

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

但也许有人有更好的解决方案?

更新: 我的页面仅在 Chrome 浏览器中显示错误,因此我需要加载(仅使用 chrome)带有更新的特殊 css 文件

【问题讨论】:

  • 退后一步 - 你为什么要检测 浏览器
  • 您应该检测到您正在寻找的功能而不是浏览器。
  • 您是否正在寻找一些与 html/html5 或 css/css3 相关的特定功能?试试mordenizr
  • 更改整个 CSS 可能是一个更好的主意。 Chrome 有什么问题?它可以在 Safari 或其他 WebKit 浏览器中使用吗?

标签: html google-chrome


【解决方案1】:

如上面的 cmets 所述,您应该检测功能兼容性,而不是浏览器。也就是说,在极少数情况下,您需要在 CSS 中定位 WebKit 浏览器。例如,我有一个只出现在 Chrome/Safari 中的小字体大小/渲染问题,我用这样的方法修复了它:

@media screen and (-webkit-min-device-pixel-ratio:0) {
  /* Chrome- and Safari-specific CSS here*/
}

另一个警告:如果某些内容在 Chrome/Safari 中呈现不正确,但在 Firefox 中却没有,则很有可能存在其他潜在问题,例如无效标记。在使用上述(略显老套的)方法之前,请务必验证您的 HTML 并检查是否存在其他问题。

【讨论】:

  • 救生解决方案!谢谢!
  • 部分windows IE浏览器也即将推出
  • Chrome、Opera 和 Edge 读取此内容。 Firefox 不是...我的问题是 Chrome 中用于滚动的 vh 单元...抱歉,它对我不起作用。
【解决方案2】:
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
if (is_chrome) {
    document.write("Yaii it is Chrome only")
}

发件人:"Simple way to detect chrome browser using javascript"

【讨论】:

  • 通常免责声明浏览器嗅探在大多数情况下是一个坏主意,这将是一个好的答案。
  • 也适用于opera 15+
  • 虽然我同意功能检测更好,但我有一个非常奇怪的情况,即 Flash 中的某个功能在 Chrome 中无法使用 Pepper Flash 不起作用,因此这似乎是唯一的解决方案我有。
  • @TomHart - 我想说不需要任何借口。 Chrome 很好,但肯定不是黄金标准,并且很快就会发现异常,就像任何浏览器一样,特定行为既不受欢迎又独特。只要您仔细评论您所做的事情和原因,所谓的“hack”就没有错,它可以让所有案例按预期工作,消除头痛,让您腾出时间处理下一个问题。如果/当找到更好的解决方案时,没有什么说你不能重新审视。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 2012-09-19
  • 1970-01-01
  • 2011-01-14
  • 2018-10-05
相关资源
最近更新 更多