昨天,我在运行 Opera 时遇到了网站上一些谷歌图表的问题。我收到错误“您的浏览器不支持图表”。今天一切都很好,而且事实上似乎运行得更快了一些。
我想在我的 javascript 中进行备份,以便在不支持的情况下我只会显示一个表格。
有没有这样的方法可以做到这一点,或者我是否需要检查传入浏览器列表并自己找出答案?
最佳答案
来自http://code.google.com/intl/en/apis/chart/interactive/docs/ :
Charts are rendered using HTML5/SVG technology to provide cross-browser compatibility (including VML for older IE versions) and cross platform portability to iPhones, iPads and Android.
他们显然正在使用内联 SVG。 http://caniuse.com/#search=inline%20svg在这里不是很有用,因为这是关于 HTML5 解析器识别 SVG 内容,但是 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 正在执行的兼容性检查相匹配(减去您明显观察到的故障)。
关于javascript - 检测浏览器是否支持谷歌图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7174715/