当前位置:  开发笔记 > 编程语言 > 正文

通过javascript获取SVG图形的大小

如何解决《通过javascript获取SVG图形的大小》经验,为你挑选了1个好方法。

要在html页面中添加svg图形,通常使用object标签将其包装为:



this browser is not able to show SVG: http://getfirefox.com 
is free and does it!
If you use Internet Explorer, you can also get a plugin: 

http://www.adobe.com/svg/viewer/install/main.html


如果您不在object标签中使用width和height属性,则svg将以完整大小显示.通常我从Open Graphics Library获取svg文件进行测试.有没有办法通过使用JavaScript获得svg的大小?或者我可以只看一下svg xml文件,找出顶级svg标签的大小?



1> codedread..:

见http://dev.opera.com/articles/view/svg-evolution-not-revolution/?page=2

只要SVG文件在同一个域上,就可以访问由HTML:对象引用的SVG DOM(否则这将是一个安全漏洞.如果你的对象标签有id ="myobj",你会这样做:

var obj = document.getElementById("myobj"); // reference to the object tag
var svgdoc = obj.contentDocument; // reference to the SVG document
var svgelem = svgdoc.documentElement; // reference to the SVG element

然后,您可以通过以下方式访问svg元素的宽度/高度:

svgelem.getAttribute("width")
svgelem.getAttribute("height")

请注意,这些属性可能是"100px","300","200em","40mm","100%"之类的内容,因此您需要仔细解析它.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有