2011-10-25 42 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"> 

如果你是內聯插入它,我知道一些變換和動畫不能正常使用目前還不知道任何解決方法。我會建議如何在外部連接它。