`
mmdev
  • 浏览: 12925258 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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>objectembed是两个HTML标记,最开始出现的时候是针对Internet ExplorerNetscape两种浏览器的,<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本身的问题。如果您知道,告诉我一下。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics