1. 程式人生 > >IE對SVG支援不好

IE對SVG支援不好

使用svg來繪製圖形確實很方便,就是生成xml檔案,在其中用text指定生成文字,circle生成圓,用line生成直線等等。

可是這個標準卻不被IE很好的支援。在IE6中,需要裝一個Adobe的svgviewer瀏覽器外掛,才能瀏覽。

這次客戶端都升級到了ie7,ie8,卻發現原來能正常瀏覽的svg圖,在螢幕上縮成了小小的一塊。

實在是沒辦法,只好考慮使用silverlight來替代了。

下面是關於svg的一個報道

網際網路之父稱IE處理SVG時落後對手

有“網際網路之父”之稱的蒂姆·伯納斯-李(Tim Berners-Lee)表示,通常情況下他不會表達對某種瀏覽器的“偏愛”,但他發現微軟的IE瀏覽器確實存在一個問題.

  伯納斯-李本週接受採訪時表示,IE在處理一種重要的影象格式方面IE落後於其它瀏覽器.向量圖形(SVG)格式的影象能夠隨意放大或縮小而不會失真,地圖通常採用SVG格式.
  伯納斯-李說,稍加註意就會發現,大多數瀏覽器都支援SVG影象格式,但IE在這方面做得不夠好.Firefox、Safari和其它瀏覽器對SVG 提供了內建支援,IE則依賴Adobe Systems的一款外掛支援SVG.使用者必須下載、安裝這款外掛才能夠在IE中顯示SVG格式影象,即使是最近釋出的IE 8β2也是如此.

  微軟在一份宣告中表示,“我們一直在考慮支援SVG,我們意識到Web開發人員需要SVG.”

  在IE中提供對SVG的內建支援對於微軟而言已經刻不容緩,因為從明年1月1日起Adobe將不再支援SVG外掛.目前尚不清楚屆時使用者是否還能夠繼續下載這款SVG外掛.

下面是一個可以正確顯示的例子

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head></head>
<title>合作關係圖視覺化展示</title>
<body>
<iframe id="frame" src="http://124.16.136.158:8080/myapp/Parse_Draw.jsp?author=馮登國 " width="100%" frameborder="0" marginheight="0" marginwidth="0"></iframe>
<script type="text/javascript">
function resizeIframe() {
    var height = document.documentElement.clientHeight;
    height -= document.getElementById('frame').offsetTop;
   
    // not sure how to get this dynamically
    height -= 20; /* whatever you set your body bottom margin/padding to be */
   
    document.getElementById('frame').style.height = height +"px";
   
};
document.getElementById('frame').onload = resizeIframe;
window.onresize = resizeIframe;
</script>
</body>
</html>