我正在使用縮略圖,即服務在無形式的IE9控件中採用HTML內容的縮略圖圖像。一切工作順利與一個DrawToBitmap調用以及幾個GDI調用,但SVG內容不顯示。其他一切似乎都顯示得很好,但沒有SVG。內聯SVG內容在IE中不顯示屏幕截圖
我認爲這與SVG在IE中的實現方式有關,但我不知道細節。有什麼想法嗎?
TIA。
我正在使用縮略圖,即服務在無形式的IE9控件中採用HTML內容的縮略圖圖像。一切工作順利與一個DrawToBitmap調用以及幾個GDI調用,但SVG內容不顯示。其他一切似乎都顯示得很好,但沒有SVG。內聯SVG內容在IE中不顯示屏幕截圖
我認爲這與SVG在IE中的實現方式有關,但我不知道細節。有什麼想法嗎?
TIA。
答案來自IEBlog的特德·約翰遜:
IE9沒有單獨的SVG引擎;它是全部一個DOM並呈現 管道。但是,如果您的文檔不在9標準文檔 模式下,則不會獲得任何SVG內容。我想,默認情況下,.NET中的 WebBrowser控件默認爲兼容模式。嘗試添加 元標記到您的HTML頁面的頂部,迫使IE9模式:
<meta http-equiv="X-UA-Compatible" content="IE=9">
這確實打開SVG渲染像一盞燈開關。
您還可以設置HTML4 strict或HTML5的文檔類型。
<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
從http://www.seowarp.com/blog/2011/06/svg-scaling-problems-in-ie9-and-other-browsers/:
在我開始之前,我只是想指出,我的測試頁上,Internet Explorer 9的拒絕顯示任何SVG我的圖像的基本HTML頁面直到我宣佈HTML4嚴格或HTML5文檔類型。