我建立在角材料的應用,並具有MD-圖標結構如下:
<md-icon class="ic1" md-svg-src='data:image/svg+xml,
<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 32 32">
<ellipse ry="16" rx="16" id="svg_1" cy="16" cx="16" stroke-width="1.5" fill="#ff0000"/>
</svg>' class="s32">
</md-icon>
但它不能呼叫負載爲角塊https://www.w3.org/2000/svg
(我試過HTTP和HTTPS),並拋出一個$ SCE:insecurl錯誤:
由於文檔建議,我嘗試添加的URL SCE白名單:
app.config(function ($sceDelegateProvider) {
$sceDelegateProvider.resourceUrlWhitelist(['self', 'https://www.w3.org/2000/svg', 'https://*.w3.org/**'])
})
但它沒有效果。
我該如何讓它工作?
請注意,我簡化了HTML以僅顯示相關內容,實際上我基於變量動態更改填充顏色,所以我寧願不將每個SVG都保存爲文件,前提是我可以使此動態版本正常工作。
注:雖然該字符串看起來像一個URL,但它不是一個真正的。這只是'xmlns'的常量,意思是「這是一個SVG」。將其更改爲「https」會在技術上破壞它。 –
@PaulLeBeau謝謝,這很好。請注意,它並不適用於http,儘管如此,Angular將它作爲URL阻止,出於某種原因 – Hankrecords