Я пытаюсь анимировать что-либо внутри encodeURIComponent() в IE. Я знаю, что SMIL не поддерживается IE, но это намного проще, чем использовать чистый JS для анимации/поворота тега svg. Вот пример того, что работает в Firefox и Chrome, но не в IE:
var uri = encodeURIComponent(
'<?xml version="1.0" encoding="utf-8"?>' +
'<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" viewBox="0 0 120 40" xml:space="preserve">' +
'<script type="text/javascript" xlink:href="http://leunen.me/fakesmile/smil.user.js"/>' +
'<circle cx="30" cy="50" r="15" fill="blue" stroke="black" stroke-width="1">' +
'<animateMotion path="M 0 0 H 300 Z" dur="8s" repeatCount="indefinite" />' +
'</circle>' +
'</svg>');
Вы заметите xlink:href для FakeSmile, который, я думаю, должен обрабатывать анимацию без проблем, поскольку он не динамичен. Если вы попробуете аналогичную скрипту, вы увидите, что она работает в IE внутри тега:
Это работает из-за некоторых метатегов или другого html-кода на конце jsfiddle? Или это тот факт, что код, который я включил, заключен в encodeURIComponent()? В конечном счете, svg нужно обернуть, иначе он вообще не появится, независимо от анимации.