【问题标题】:IE 9 in IE8 Browser Mode/Document mode supports SVG?IE8 浏览器模式/文档模式下的 IE 9 是否支持 SVG?
【发布时间】:2010-12-21 23:26:12
【问题描述】:

我刚刚升级到 IE9 来对我的网站进行跨浏览器兼容性测试,该网站使用 Raphael.js。我知道我的网站及其 Raphael.js 图形可以在 IE8 中正确使用 VML,但由于某种原因,当我将 IE9 设置为 IE8 浏览器模式/文档模式时,Raphael.js 尝试使用 SVG 而不是 VML。当我将 IE9 设置为 IE7 浏览器模式/文档模式时,不会发生这种情况;也就是说,Rapahel.js 使用 VML。为什么IE9认为IE8支持SVG?

【问题讨论】:

  • 问题似乎是win.SVGAngle是在IE9的IE8模式下定义的,而在普通的IE8下却没有。
  • 这似乎不会在最新的内部版本中重现。有网址可以试试吗?
  • 我没有那个 URL,但是 Raphael.js 的代码行在这里:github.com/DmitryBaranovskiy/raphael/blob/master/raphael.js#L92 - window.SVGAngle 是在 IE9 的 IE8 模式下为我定义的......我我现在不在我的电脑上,所以我不能告诉你我有哪个版本......但我可以在星期一查看。
  • IE9 RC 在 IE8 和 IE9-in-IE8-mode 之间改进了 other discrepancies。这个问题在 2 月份的 IE9 候选版本中仍然存在吗?

标签: internet-explorer internet-explorer-8 raphael internet-explorer-9


【解决方案1】:

我对 Raphaël 一无所知,但我知道 IE9 错误地报告了它的 JScript 版本。无论您将浏览器模式/文档模式设置为哪个版本,@_jscript_version 都会返回 9。如果 Raphaël 根据 @_jscript_version 决定使用 VML 还是 SVG,则可能会造成麻烦。

【讨论】:

  • 嗯,不完全是...这是绊倒 IE 的行:R.type = (win.SVGAngle || doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") ? "SVG" : "VML"); 所以在 IE8 中,win.SVGAngle 没有定义,但似乎 IE9 的 IE8 模式已经定义了...
猜你喜欢
  • 2011-02-26
  • 1970-01-01
  • 2011-02-05
  • 2012-08-24
  • 2012-08-21
  • 2013-05-01
  • 1970-01-01
  • 2012-12-01
相关资源
最近更新 更多