Ricky的开发手记

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

自己原来学过一些SVG的知识,也做过几个联系性质的文件,最近参与的项目中需要一些图形的东西,感觉用矢量图要合适一些,所以我决定用SVG来实现。

一开始就碰到了问题,以前自己写过的几个页面放到Web服务器上后,在客户端IE里面查看的时候浏览器一直在加载,也就是下面的进度条一直在走但是就是无法完成。客户端装的是Adobe网站上能下载到的最新的Adobe SVG Viewer,版本是3.03b94(其实这也是最后的Adobe SVG Viewer了,因为Adobe已经决定不再开发这个东东了,从2008年1月起正式停止对它的支持)。然后又试了几台机器都这样,操作系统从2000到XP到2003都试过了,都存在这样的问题,而用本地文件的方式在浏览器里面打开就没有问题。

按照经验,还是先上微软的知识库里去查查吧。使用Adobe SVG作为关键词搜索,还真有这么一篇文章:The Adobe SVG Viewer plug-in does not display a map on a Web page when you view the Web page on a client computer that has Visual Studio 2005 installed(在安装了Visual Studio 2005的客户端计算机上Adobe SVG Viewer插件无法显示网页上的地图)。但是文中描述的解决办法似乎不适用于我的情况,因为我在页面中一直都是用<object>标记来定义SVG对象,形式如下:<object id="svg001" data="aa.svg" width="500" height="400" type="image/svg+xml">。这里面根本没有src属性,而且虽然我自己的机器上装了Visual Studio 2005,但是测试用的其他的机器上并没有装,我试了一下把data属性的URL后面加上?svg,果然没有效果,所以只好又上Google上去找。可能是关键字有问题,没有找到什么有用的东西,不过倒是偶然间打开了Adobe的SVG测试页面示例页面,发现这些页面上的SVG竟然能正常显示,不禁大喜过望。赶紧查看一下页面的源代码,原来这些页面里面使用了<embed>标记定义SVG对象,形式如下:<embed name="svg001" src="aa.svg" width="500" height="400">,看来刚才的微软知识库文章里面提到就是这种用法。于是把自己的页面也修改成这种方式,哈,果然正常了。即使没有像那片文章说的在src属性的URL后面加上?svg也没有问题,

到目前为止,这种情况的原因还没有找到,但是问题总算解决了,开发又可以进行下去了。

posted on 2007-02-15 13:41  Ricky  阅读(4600)  评论(0编辑  收藏  举报