2011-08-24 122 views
0

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

我想在我的JavaScript中有一个备份,以便如果它不支持,只是显示一张表。

有没有这样的方式来做到这一点,或者我需要检查传入的浏览器列表,并为自己弄清楚吗?

回答

2

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

图表使用HTML5/SVG的技术,提供 跨浏览器兼容性(包括VML较旧版本的IE)和 跨平台的可移植性到iPhone,ipad公司和Android渲染。

他们显然使用内联SVG。 http://caniuse.com/#search=inline%20svg在这里并不是很有用,因为这是关于识别SVG内容的HTML5解析器,但是Google会动态生成SVG内容。我认为,联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正在执行的兼容性检查相匹配(减去您显然观察到的那种毛刺)。

+0

如果使用Modernizr,你也可以检查内联svg支持如下:'if(Modernizr.inlinesvg){//支持inline svg}' – diggersworld