昨天我在运行opera时遇到了网站上某些谷歌图表的问题。我收到错误“您的浏览器不支持图表”。今天它绝对精细,事实上似乎运行得更快。
我想在我的javascript中备份,以便如果不支持我就会显示一个表格。
有没有这样的方法可以做到这一点,还是我需要检查传入的浏览器列表并自行计算出来?
答案 0 :(得分:2)
来自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内容。我认为以下代码片段测试内联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正在执行的兼容性检查相匹配(减去您显然观察到的故障)。