SVG Web是一个JavaScript库,为浏览器提供对SVG的支持。包括:IE,Firefox和Safari。SVGweb 可以让Svg程序在IE或所有支持flash的浏览器上以flash的形式展现,解决了ie浏览器支持svg还需要安装SVGViewer的问题。
Google 的开发工程师 Brad Neuberg说:对于那些支持 SVG 的浏览器, SVG Web 会将 SVG 渲染任务交给浏览器,对于不支持 SVG 的浏览器,则会生成一个 Flash 对象渲染 SVG 图形,虽然这种机制永远赶不上本地 SVG 的渲染速度,但可以很好地帮助 Web 开发者实现矢量图功能。
SVGweb 可以让SVG程序在IE或所有支持flash的浏览器上以flash的形式展现,解决了ie浏览器支持svg还需要安装SVGViewer的问题。
在Google code上下的SVGweb 内置类一个mini的服务器包只要机器上有jre就可以直接运行起来,附件中有一个精简的SVGWeb可以此目录结构为例介绍一下如何运行SVGWeb实例。
将解压的文件夹放到任意目录,用cmd导航到 yourpath/svgweb 目录, 执行 java -jar server/webserver.jar ,如果你的机器中jre正确,就已经启动了测试服务了,在浏览器中键入 http://127.0.0.1:8080/samples/helloworld.html 可以访问到实例页面。
注意:不要偷懒直接双击webserver.jar文件或在不正确的跟目录执行命令,否则找不到samples目录,也就找不到页面了。
如果你的8080端口被占用了,要先停掉你的tomcat服务器在执行命令。
在页面中加入下面的命令
<meta name="svg.render.forceflash" content="true" />
或者使用
http://127.0.0.1:8080/samples/helloworld.html?svg.render.forceflash=true
就可以强制在所有的浏览器上都用flash显示。
将SVGWeb部署到直接的Web应用程序里也比较简单
只要保证下面的四个文件放在同一目录中
然后在页面中加入下面的标签
svg.js
svg.swf
svg.htc
svg-htc.jsp (svg-htc.asp svg-htc.php 不同的服务器用不同的文件就行了)
<script src="/data/svg.js" data-path="data" data-htc-filename="svg-htc.jsp"></script>
就ok了,以上假设我的文件放在主页面所在的目录下的data文件夹中。见附件
做好了这些我们就可以享受SVG开发的乐趣了,无论IE还是其他浏览器(不是绝对),既可以支持在html直接嵌入svg标签,又可以用<object/>标签引入我们的SVG应用程序。
但是两种方式在操作svg元素是有所不同,直接嵌入的svg可以通过document.getElementById('myCircle')的方式直接访问到元素,而通过<object/>标签引入要首先通过 ocument.getElementById('mySVGObject').contentDocument
获得svg文档对象然后使用我们强大的getElementById方法去访问。
(THE END)
如果你喜欢这篇文章,请阅读本文相关的下列内容:
