2011-11-08 143 views
1

我使用svg創建可視化,並且在IE9中呈現良好。我正在研究用戶可以將可視化內容嵌入其頁面的功能。我通過iframe來做這件事。我在使用IE9裏面的iframe時遇到了SVG無法渲染的問題。SVG在IE9中不顯示iframe內部

這是一個簡單的例子,它適用於大多數瀏覽器,但在IE9中顯示空白。

<html><body> 
    <iframe width="640" height="480"  src="http://www.croczilla.com/bits_and_pieces/svg/samples/butterfly/butterfly.svg"/> 
    </body></html> 

有什麼想法?謝謝。

+0

這個例子適合我嗎? – 2011-11-08 14:25:48

+0

@Dunc參考我的答案。可能是你的IE9在標準模式下渲染頁面。幸運的你。 :) –

回答

2

IE9需要在開始時

<!DOCTYPE html> 

聲明渲染文檔中的標準模式,否則它便回落至怪癖模式。

現在,人們可以把它無論是在上面的例子中的頂部,我給了,使它:

<!DOCTYPE html> 
<html><body> 
<iframe width="640" height="480"  src="http://www.croczilla.com/bits_and_pieces/svg/samples/butterfly/butterfly.svg"/> 
</body></html> 

但是,因爲用戶會被嵌入在他們&頁面的iframe顯然人們不能依靠自己的網頁總是有doctype定義。所以更好的解決方案是在iframe中添加「」。 此外,我想指出,多個doctypes不會影響頁面呈現,因爲iframe中定義的doctype僅適用於iframe。

我希望IE9能夠像其他瀏覽器一樣在頁面中檢測這些功能,並在將來進行正確渲染。