2013-03-08 2 views
1

Пожалуйста, обратитесь к приведенному ниже коду.SVG-анимация не работает в IE9/IE10, но работает в Firefox и chrome

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <defs> 
     <clipPath id="curtainClip"> 
      <rect id="clipRect" x="0" y="0" width="100" height="100"/> 
     </clipPath> 
    </defs> 

    <animate xlink:href="#clipRect" 
     attributeName="width" 
     dur="15s" 
     from="0" 
     to="100" /> 

    <path clip-path="url(#curtainClip)" stroke="red" d="M 0 0 L 100 100"/> 
</svg> 

Элемент SVG, который не работает в браузере IE. Как я могу это исправить ? будь то ошибка в браузере IE10, или мне нужно добавить любой дополнительный код для работы в браузере IE.

Я упомянул следующую ссылку.

Can't make SVG animation work with ie9 and firefox

Спасибо,

Siva

+0

Вы получаете ошибки javascript в режиме отладки IE? –

+0

В IE нет ошибки javascript. svg отображается, но анимация только не работает в IE. – SivaRajini

ответ

3

Вы используете SMIL (декларативной) анимации, которая not supported in Internet Explorer. Насколько я могу судить, Microsoft не планирует ее поддерживать. С this страницы,

«анимация на основе сценариев открывает дверь в простой, а также сложную возможности анимации. Из-за этого, а также по другим причинам (например как CSS-анимация), IE9 не поддерживает декларативную анимацию «.

Microsoft действительно хочет, чтобы вы использовали анимацию на основе сценариев. Поэтому, если вы хотите, чтобы ваш SVG был анимирован во всех существующих браузерах, вам нужно сделать это с помощью Javascript. В качестве альтернативы, как намекнул Microsoft, вы можете использовать CSS animation. На мой взгляд, анимация CSS будет лучшим выбором для простой анимации в вашем примере.

+0

Можно использовать FakeSMILe для создания декларативных элементов анимации IE9 +, см. Http://leunen.me/fakesmile/index.html. –

+0

Как всегда с Microsoft: все остальные поддерживают этот стандарт, но мы будем блокировать вас от его использования. К счастью, есть библиотеки, которые полиполняют вещи, но угадайте, что? Пользователи IE - это те, кто платит цену за худшую производительность. –

+0

@ ErikDahlström Ах, это не работает в фоновом изображении. FWIW. –