→ mmis1000: 因為firefox不允許被用img嵌入的svg引用外部檔案 01/04 23:09
→ mmis1000: 除非你用iframe嵌入就可以 01/04 23:09
→ mmis1000: 另一個方法是用 data:.... 這種類型的網址直接嵌入檔案 01/04 23:10
→ mmis1000: 基本上是為了安全理由而做的限制 01/04 23:12
→ mmis1000: 在bugzilla也寫不會改了 01/04 23:14
感謝回答,又一個方便功能被安全性殺死了orz
我想做的主要是把一張點陣底圖 some.jpg 在不同地方加上標記輸出,
比如在某處放上 some-1.svg、另一處放 some-2.svg、等等,
用 svg 和 xlink 是為了重複使用相同的點陣圖以節省空間。
不考慮 xlink:href="data:xxx" 的做法,因為 base64 編碼只會更浪費空間...
直接在 HTML 裡內嵌 <svg> 可行,但操作麻煩(內嵌的 svg 不方便用軟體編輯),
似乎也不能縮放大小?
canvas 之類要寫 js 程式碼,也不考慮。
想請教是否有其他重複使用相同點陣圖的策略可用?
※ 編輯: danny0838 (114.34.57.99), 01/06/2015 21:22:16
→ mmis1000: 用js把svg當templete輸出?"<svg>{{img1}}</svg>" 01/06 21:36
→ mmis1000: 然後讀取到時自動把某個mark替代掉 01/06 21:37
→ mmis1000: 轉成 src="data:image/svg+xml;utf8,<svg..... 01/06 21:38
→ mmis1000: 之類的東西 01/06 21:38
→ mmis1000: 或是以 <object> 嵌入應該也能讀外部資源 01/06 21:39
→ mmis1000: 反正要讀外部資源就是不能用<img> 01/06 21:41
我在 Fx 上試了 <embed> 和 <object> ,確實可以載入連結的點陣圖,
但無法縮放大小(設定 width 或 height 會裁切)
這有辦法解決嗎?
※ 編輯: danny0838 (114.34.57.99), 01/06/2015 21:57:10
→ mmis1000: 把svg的width跟height改100%? 01/06 22:19
看不太懂,是改 .svg 原始檔嗎?似乎無效
※ 編輯: danny0838 (114.34.57.99), 01/06/2015 22:57:54
→ mmis1000: 你有設定viewBox嗎? 01/09 16:47