您的位置:首页 > 移动开发 > Objective-C

将SVG文件嵌入到网页中的问题 并说object和embed标记

2006-01-09 18:42 615 查看
将SVG文件嵌入到网页中,可以使用<object>将其包含到网页的HTML中,例如下面的HTML文档:<html> <head><title>SVG Demonstration</title></head> <body> <h2 style="text-align: center">SVG Demonstration</h2> <p>A page may have other code besides the SVG image.</p> <object type="image/svg+xml" data="MySVG.svg" width="300" height="200"> </object> <p>Using objects allows the browser to decide what to display.</p> </body></html>将其保存为MySVG.html,并将MySVG.svg文件与此HTML文件放到同一目录。将MySVG.html直接拖到IE浏览器中,在本地打开,可以看到效果。再将两个文件放到服务器上,在客户端IE浏览器中打开该HTML页面,发现不能正确浏览该网页的SVG文件。为了测试,又随便找了一台机器,发现也不能正确浏览该网页。什么问题呢?浏览器的问题?没有时间,也懒得下其它浏览器测试。
仔细看看HTML代码,让我想到了<embed>。object和embed是两个HTML标记,最开始出现的时候是针对Internet Explorer和Netscape两种浏览器的,<object>是一个比<embed>更不正式的标签。他们功能差不多,但是还是有一些区别,比如说如果嵌入的文件尺寸过大时,<object>只会对其缩放,而<embed>会将其裁剪掉。
既然<object>和<embed>有不同,那么用<embed>的话会如何呢?修改HTML文件为:<html> <head><title>SVG Demonstration</title></head> <body> <h2 style="text-align: center">SVG Demonstration</h2> <p>A page may have other code besides the SVG image.</p> <embed src=" MySVG.svg" width="300" height="200" type="image/svg-xml" /> <p>Using objects allows the browser to decide what to display.</p> </body></html>保存文件,打开客户端浏览器,输入网址,可以正确浏览网页包含的SVG文件。
原因呢?为什么用<object>找不到SVG文件,而用<embed>就可以?难道<object>嵌入的是本地资源,而<embed>嵌入的是服务器上的资源?也许是这样吧,也许是我的IE本身的问题。如果您知道,告诉我一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: