动态添加的embed SVG元素如何获得其svgdoc?

backby 2008-09-10 10:10:31
我现在需要动态嵌入SVG文件,但是却无法获得其svgdoc,请问该怎么处理?

代码比较复杂,简单描述如下:
-------------------------
var embededSvg=document.getElementById("embededSvg");
if(embededSvg==null){
embededSvg=document.createElement("embed");
embededSvg.id="embededSvg";
embededSvg.src="../svg/test.svg";
embededSvg.type="image/svg-xml";
}
//alert("a");
var svgDoc=embededSvg.getSVGDocument();
//var svgDoc=document.embededSvg.getSVGDocument(); //也试过,不行
-------------------------
一直报svgDoc是null。

有一个比较有意思的现象就是,如果在getSVGDocument()之前加一个alert(),随便alert什么都可以
就可以取到svgDoc。

不知道是什么原因?难道是在我执行getSVGDocument()的时候,test.svg文件还没有载入?
如果是这个原因,那么如何让它自动载入(而不再需要我alert手动刷新页面)?
...全文
415 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
langxiaodi 2010-01-15
  • 打赏
  • 举报
回复
http://no-sand.spaces.live.com/blog/cns!24183F266C78CAA8!202.entry
这里应该有你要的答案 虽然已经时隔2年了
另外可看下我的问题
http://topic.csdn.net/u/20100115/18/53a6e71d-be46-4b97-9d05-ea111e0cda23.html?seed=236279092&r=62763788#r_62763788
剑心永远OK 2008-09-10
  • 打赏
  • 举报
回复
先加载所有东西再执行其他function试试
backby 2008-09-10
  • 打赏
  • 举报
回复
如果确实是getSVGDocument()之前test.svg还没有加载进来的话

应该用什么方法能保证让所有东西加载呢?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧