A)让伺,服,器代为读取这些外部资源,使它们变成同网域的资料。
B)用 JS 建立 img,将其 crossOrigin 特性设成 *anonymous*,再请求 SVG。如果对方的伺,服,器有明确允许(有设定正确的 Access-Control-Allow-Origin),并且该 SVG 没有引用任何外部资源,并且浏览器支援,那麼载入后你可以用 JS 存取其内部资料。
可以用操作节点的方式
比如:
document.getElementById("myobject").getSVGDocument().getElementById("myrect").setAttribute("fill", "yellow")
})
推荐阅读 才是正文。SVG图形技术是很耐人寻味的课题,持续阅读和记录中。下文相当于目录,具体的请大家百度。
由于浏览器的兼容性问题,在html中引入SVG可以是一个非常魔性的问题,借鉴了几篇“推荐阅读”中的文章,总结出以下方法:
1. 用<svg>标签引入
2. 用<img>标签的src引入
3. 用<object>标签引入
黑科技:
兼容性研究
snap.svg
svg.js