將SVG檔案嵌入到網頁中的問題 並說object和embed標記 同問

來源:互聯網
上載者:User

http://blog.csdn.net/kagad/archive/2006/04/29/696835.aspx

 

 

 

將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本身的問題。如果您知道,告訴我一下。

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/kagad/archive/2006/04/29/696835.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.