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

来源:互联网 发布:mac office2016 ppt 卡 编辑:程序博客网 时间:2024/05/09 09:40
将SVG文件嵌入到网页中,可以使用<object>将其包含到网页的HTML中,例如下面的HTML文档:
<html>
 <head><title>SVG Demonstration</title></head>
 <body>
 <h2>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>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本身的问题。如果您知道,告诉我一下。
将SVG文件嵌入到网页中,可以使用<object>将其包含到网页的HTML中,例如下面的HTML文档:
<html>
 <head><title>SVG Demonstration</title></head>
 <body>
 <h2>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>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本身的问题。如果您知道,告诉我一下。
将SVG文件嵌入到网页中,可以使用<object>将其包含到网页的HTML中,例如下面的HTML文档:
<html>
 <head><title>SVG Demonstration</title></head>
 <body>
 <h2>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>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本身的问题。如果您知道,告诉我一下。

 

 

 

 

 

 

 

 

 
原创粉丝点击