javascript - 检测浏览器是否支持谷歌图表

标签 javascript html browser graph

昨天,我在运行 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/

相关文章:

javascript - 向前和向后浏览时 AJAX 事件消失

html - CSS类显示

c# - 如何以编程方式选择 webBrowser 控件中的文本? C#

javascript - Node JS 回调函数不返回任何内容

javascript - 在 IE 上,光标始终位于文本区域的开头

javascript - 我可以使用 JavaScript 获取我的域中的外部页面的标题吗?

html - 从手机查看时如何使用 css 裁剪图像?

html - Foundation 6.4.1 - 如何使下拉菜单在其父项下居中?

javascript - 使用埃拉托色尼筛法的素数和找不到错误

javascript - AJAX动态页面更新