2011-10-25 38 views
0

我从来没有见过像这样的浏览器错误。它只发生在特定的Safari浏览器/平台组合上。我在iOS4或Mac OSX Snow Leopard上使用Safari 5.1.1获得了预期的结果,但是只有在Lion或iOS5上尝试Safari 5.1或5.1.1时才会出现该错误。Canvas只在Safari上渲染并且仅在iOS5/Lion上渲染错误

当我通过foreignObject元素将canvas元素嵌入到内联svg文档中时,会出现这种情况。画布通常尊重所有适用于foreignObject的svg转换,并且在Chrome/Firefox和Safari(iOS4,Snow Leopard)上可以正常工作。但是当我在狮子,iOS5上使用Safari时,画布会呈现而不应用任何转换。画布渲染也位于所有SVG的顶部,因此也不会考虑z顺序。

在平台(雪豹/狮子)之间的相同版本(5.1/5.1.1)中Safari可能会发生什么变化?

任何帮助表示赞赏找到解决办法。

编辑:看起来像在Lion和iOS5中从Webkit1改变为Webkit2的渲染引擎,并引入了大量的错误。这看起来像相关的一个:https://bugs.webkit.org/show_bug.cgi?id=68635仍在寻找解决方法...

+0

有趣的信息,但这听起来像一个错误报告,而不是一个问题。你甚至没有提供一个简化的测试用例来让别人重现它。 – Phrogz

回答

1

取决于你如何链接你的svg在html中。 如果是外部SVG文件比你应该将它嵌入这样并将其用作“图像/ SVG + XML”

<embed id="some_id" width="WIDTH" height="HEIGHT" src="youranimation.svg" name="animated_map" type="image/svg+xml"> 

如果你是内联插入它,我知道一些变换和动画不能正常使用目前还不知道任何解决方法。我会建议如何在外部连接它。