2013-10-05 13 views
2

我想使用HTML5 postMessage功能在「主機」和「iframe」之間進行通信。問題是,主頁中html的DOCTYPE不能保證(但iframe)。`DOCTYPE`是否會影響JavaScript中的`postMessage`等HTML5特性的使用?

那麼,即使DOCTYPE是「HTML4」或「XHTML」,我是否可以在JavaScript中使用postMessage或任何其他HTML5功能?

我試過了1)HTML4 DOCTYPE 2)XHTML DOCTYPE 3)在最新的Chrome和IE10中沒有DOCTYPE。他們都工作。但我不知道他們是否會在其他情況下工作。

+0

知道* sure *的唯一方法就是嘗試,但據我所知,沒有瀏覽器區分DOCTYPE支持的JavaScript功能。 –

+1

@MattPatenaude,嘗試(即在少數環境中測試)並不是一種確切知道任何事情的方法。 –

+0

我不認爲嘗試是一種可以肯定的方法。瀏覽器中的機制可能會告訴我們真相.. @MattPatenaude,@ Jukka K. Korpela – Jerry

回答

1

Internet Explorer的早期版本以怪癖模式更改某些JS行爲。這會更改某些接口的可用性,如document.all

我不知道這是否有一個全面的列表,但隨處可見。

其他瀏覽器不會改變JS行爲,無論是否在怪癖模式。

+1

「其他瀏覽器不會改變JS的行爲,無論是否在怪癖模式」。像HTML中的很多東西一樣,這幾乎不是真的。 http://stackoverflow.com/questions/18283890/what-is-the-difference-of-having-a-doctype-and-backcompat-vs-css1compat-mode/18298085#18298085給出了現代怪癖模式變化的總結瀏覽器包括JS中行爲的一些微小變化。 – Alohci

+0

@Alochi我指的是接口的可用性,但感謝鏈接,這對於提問者來說當然是有用的信息:) –

+0

@Alohci這當然有用,thx。 :) – Jerry

0

真的沒辦法知道。目前,瀏覽器執行DOCTYPE嗅探,觸發標準,怪癖或其他模式,主要影響CSS代碼的解釋,但也會在某種程度上影響JavaScript(DOM)和HTML。無論是HTML5 DOCTYPE還是HTML 4 DOCTYPE都不重要; HTML 4 DOCTYPE是否與瀏覽器識別爲觸發標準模式的瀏覽器完全匹配更爲重要。但是,嗅探遊戲是複雜的,但有一天,這種差異可能很重要。

相關問題