【问题标题】:Detect if browser supports google graphs检测浏览器是否支持谷歌图表
【发布时间】:2011-11-02 17:37:34
【问题描述】:

昨天我在运行 opera 时遇到了我网站上的一些谷歌图表的问题。我收到错误“您的浏览器不支持图表”。今天它非常好,实际上似乎运行得更快了。

我想在我的 javascript 中有一个备份,这样如果它不支持我就只显示一个表格。

有没有这样的方法可以做到这一点,还是我需要检查传入的浏览器列表并自己弄清楚?

【问题讨论】:

    标签: javascript html browser graph


    【解决方案1】:

    来自http://code.google.com/intl/en/apis/chart/interactive/docs/

    图表使用 HTML5/SVG 技术呈现,以提供 跨浏览器兼容性(包括旧 IE 版本的 VML)和 可跨平台移植到 iPhone、iPad 和 Android。

    他们显然在使用内联 SVG。 http://caniuse.com/#search=inline%20svg 在这里不是很有用,因为那是关于识别 SVG 内容的 HTML5 解析器,但是 Google 正在动态生成 SVG 内容。我认为以下代码 sn-p 正确测试了内联 SVG 支持:

    var svgRoot = null;
    if ("createElementNS" in document)
      svgRoot = document.createElementNS("http://www.w3.org/2000/svg", "svg");
    if (svgRoot && "width" in svgRoot)
      alert("Inline SVG supported");
    

    如果动态创建的 SVG 元素具有特定于 SVG 的属性,那么一切都应该没问题。您仍然必须假设通常支持 MSIE(通过 VML)。或者使用How do you detect support for VML or SVG in a browser 来检测VML 支持。这有望与 Google 正在执行的兼容性检查相匹配(减去您显然观察到的故障)。

    【讨论】:

    • 如果使用 Modernizr,您还可以像这样检查内联 svg 支持:if (Modernizr.inlinesvg) { // supports inline svg }
    猜你喜欢
    • 2011-11-13
    • 2014-10-05
    • 2011-12-12
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 2020-05-29
    • 1970-01-01
    相关资源
    最近更新 更多