Ошибка рендеринга холста только в Safari и только на iOS5 / Lion - PullRequest
0 голосов
/ 25 октября 2011

Я никогда не видел ошибку браузера, подобную этой. Это происходит только в определенной комбинации браузера / платформы Safari. Я получаю ожидаемые результаты с Safari 5.1.1 на iOS4 или Mac OSX Snow Leopard, но ошибка возникает, когда я пробую Safari 5.1 или 5.1.1 только на Lion или iOS5.

Такая ситуация возникает, когда я встраиваю элемент canvas во встроенный svg doc через элемент foreignObject. Холст обычно учитывает все svg-преобразования, примененные к foreignObject, и это прекрасно работает в Chrome / Firefox и Safari (iOS4, Snow Leopard). Но когда я использую Safari на Lion, iOS5 визуализирует холст без применения каких-либо преобразований. Визуализация холста также находится над всеми SVG, поэтому z-порядок также не учитывается.

Что могло измениться в Safari в одной версии (5.1 / 5.1.1) между платформами (Snow Leopard / Lion)?

Любая помощь приветствуется.

РЕДАКТИРОВАТЬ: похоже, движок рендеринга изменился в Lion и iOS5 с Webkit1 на Webkit2 и внес множество ошибок. Этот выглядит как соответствующий: https://bugs.webkit.org/show_bug.cgi?id=68635 Все еще ищем обходной путь ...

1 Ответ

1 голос
/ 23 февраля 2012

Зависит от того, как вы связываете свой SVG в HTML.Если это внешний SVG-файл, то вы должны встроить его следующим образом и использовать его как «image / svg + xml»

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

Если вы вставляете его в строку, я знаю, что некоторые преобразования и анимация не работаюти не знаю, как это обойти в данный момент.Я бы порекомендовал связать его внешне так, как я описал.

...