0
我試圖在IE中的encodeURIComponent()內部設置任何動畫。我知道IE不支持SMIL,但它比使用純JS來動畫/旋轉svg標籤容易得多。下面是一些在Firefox和Chrome瀏覽器的一個例子,而不是IE:encodeURIComponent中的SVG代碼在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時,在標籤內:
是否因爲的jsfiddle結束一些meta標籤或其它的HTML代碼的這項工作?或者是我包含的代碼被包裝在一個encodeURIComponent()中?最終,svg需要被包裝或者根本不會出現,無論它是否具有動畫效果。
您應該提供適用於FireFox和Chrome的演示程序,但不適用於IE。 (您提供的工作演示只是一個子部分,並不顯示問題)。 – 2014-09-22 20:20:32
爲什麼你需要encodeURIComponent?它是將數據放入圖像還是背景圖像?你知道JavaScript不會在圖像中運行嗎? – 2014-09-22 20:43:01
@RobertLongson,是的,我知道js不會在圖像中運行,但是如果'