2012-07-30 63 views
14

我們有一個父頁面,它必須在IE9標準模式下運行,執行HTML5命令。 下面我們有一個iframe,它必須以兼容模式運行(IE7/8)。如何強制iframe在標準父框架下運行怪癖

在IE9中,據我所知,iframe從parent繼承它們的doctype。那是對的嗎? 有沒有解決這個問題的方法?可以,不知何故,在標準模式doctype父框架下執行iframe的怪癖doctype? 感謝, 塔爾

+0

看到這個答案 - > http://stackoverflow.com/a/5624373/572939 – ManseUK 2012-07-30 14:41:25

+0

可能重複[在一個框架中運行怪異模式和在另一個框架中運行標準模式](http://stackoverflow.com/questions/4902255/run-quirks-模式在一個框架和標準模式在另一個) – 2012-07-30 14:41:28

+1

這些不提供答案 - 因爲它強制整個頁面在IE7模式下運行。所需的行爲是在家長中啓用IE9模式,而在iframe內部則偏離模式。 – Tal 2012-07-30 14:46:12

回答

27

這是不可能觸發在IE9孩子的iframe不同的渲染模式,因爲在這裏正式記載:http://msdn.microsoft.com/en-us/library/gg558056(v=vs.85).aspx(強調):

雖然較新的渲染引擎僅使用當Windows Internet Explorer檢測到HTML頁面請求支持標準的最高級別 時,對於可能在幀和iframe元素中加載的子頁面 ,情況並非總是如此。 因爲只有 一個渲染引擎可以在有效,IE9模式還包括 模擬奇怪模式。

然而,因爲它說,你可以觸發「怪癖模式仿真」留下的IE9渲染引擎有效,但改變其在幾個方面,以配合老怪癖模式行爲。

JSBin演示:http://jsbin.com/ozejuk/1/

這個例子有風格background: #ff0000; background: 00ff00; border-radius: 30px一個div ...怪癖模式,十六進制顏色不#被接受。在IE9模式下它們不是。在IE9中加載演示將在父頁面中顯示紅色div,並在iframe中顯示綠色div(但仍帶有圓角)。

如何觸發怪異模式模擬的iframe:http://msdn.microsoft.com/en-us/library/gg558096(v=vs.85).aspx

短版:省略DOCTYPE,添加:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

效果怪異模式模擬的完整列表,對渲染:http://msdn.microsoft.com/en-us/library/gg558047(v=vs.85).aspx

+0

感謝您的迴應,Nick。我會在今天晚些時候或下週再看看它。 – isherwood 2013-03-22 14:19:41

+0

不幸的是,模擬怪癖模式似乎不能解決我的問題,這是:https://bugbase.adobe.com/index.cfm?event=bug&id=2928139再次感謝您的答覆。我很欣賞你付出​​的努力。 +1。 – isherwood 2013-03-22 19:53:51

+0

顯然,在IE10 +中,您可以在小孩中觸發不同的呈現模式。請參閱http://stackoverflow.com/questions/26206688/ie11-quirks-mode-under-iframe-javascript-errors/41270772#41270772 – 2016-12-21 21:01:24

相關問題