2013-06-20 66 views
0

剛碰上這個問題,我完全吃了一驚。不確定如何發生這樣的事情。document.doctype僅在IE8中未定義

正在使用ASP.NET MVC 3,DOCTYPE是在母版頁設置生成的Web應用程序:

<%@ Master Language="C#" Inherits="System.Web.UI.MasterPage" %> 

<!DOCTYPE html> 

<html> 
<head runat="server"> 
    <title><asp:ContentPlaceHolder ID="TitleContentRoot" runat="server" /></title> 
    <asp:ContentPlaceHolder ID="CssContentRoot" runat="server"> 
    </asp:ContentPlaceHolder> 

    <script type="text/javascript"> 
     console.log(document.doctype.name); 
    </script> 
</head> 

在給定的網頁應用程序,我稱之爲:

console.log(document.doctype.name); 

在最新的Google Chrome,FireFox和IE10/9中 - 都輸出html。

IE8,如飛,吐出來說明文檔類型未定義的錯誤:

無法未定義或空引用來獲得屬性「名」

我不露面Google搜索中的任何內容都與此類似。有沒有人有我可以探索的任何想法?現在我正在查看可能是IE8中錯誤地呈現MVC3母版頁。

即使我在一個沒有母版頁的完全空白的新項目頁面上,但在JS小提琴中不會發生這種情況。嗯

+0

你可以嘗試在'<!DOCTYPE html>'之前刪除空白,並且在第一行沒有空白嗎?我記得在doctype聲明之前有空格的情況下IE的老版本會遇到麻煩。 –

+0

http://i.imgur.com/mWGTfX6.png似乎沒有任何效果。我將創建一個新的,空的MVC3項目,並查看問題是否重現。編輯:是的,即使是一個全新的,空的MVC3互聯網項目也會發生。去嘗試沒有母版頁。 –

回答

1

http://www.w3schools.com/jsref/prop_document_doctype.asp

注:在Internet Explorer 8和更早的版本,此屬性返回null HTML和XHTML文檔,並且將只對XML文檔。

對不起,看起來它只是不支持。

+0

嘿,謝謝。有趣。我的實際問題源於我使用css-content屬性,並且在IE8中無法正常工作。 http://www.w3schools.com/cssref/pr_gen_content.asp警告需要設置的文檔類型。我的例子在他們的頁面上工作,但不在我的頁面上,所以我只能假設我的文檔類型沒有被正確設置。是否有另一種方法來確保我的文檔類型已設置? –