在html页面中嵌入SVG的几种方式
之前写到过http://shuxiayeshou.blog.51cto.com/4452347/1759972
今天整理一下,因为又有新的方法可用
首先还是说说老的
1. embed标签
<embedsrc="xxx.svg"type="p_w_picpath/svg+xml"/>
2. object标签
<objectdata="xxx.svg"type="p_w_picpath/svg+xml"/>
3. iframe
<iframesrc="xxx.svg"></iframe>
4. 直接嵌入
<body><div><svg>....</svg></div></body>
其中svg标签内容就是svg文件内容,直接copy paste过来的
5.JQuery的load()或ajax
比如我们要将svg文件装载到<div>中
<divid="div"></div>
用load的话就要在js里写
$("#div").load("xxx.svg");
ajax就要这样写
$.ajax({url:"xxx.svg",type:"get",dataType:"html",success:function(data){$("#div").html(data);}});
用jquery的这两种加载有个缺点,就是会有跨域问题,经实验,在ie11没事儿,chrome会报错
6.svgweb
此项目中会有一个叫svg.js的javascript文件,在html页中引入
<scripttype="text/javascript"src="svg.js"></script>
然后在页面中用<script>标签嵌入svg文件
<scripttype="p_w_picpath/svg+xml"><svg>......</svg></script>
当然<svg>标签及其内容就是你要嵌入的svg文件的整个内容,copy paste
这样做有个好处,可以兼容低版本浏览器,而且不影响js与svg交互
因为之前用第4种方法嵌入的,在ie9下显示不出来
但现在用第6种方法就OK了,至于更低的IE8之类的没有测试
还有一点要特别注意,不论是第4种还是第6种方法,在html最上面一定要有
<!DOCTYPEhtml>
这样ie9下才能不出显示问题
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。