刚刚碰到这个问题,我完全吃了一惊。不确定这样的事情会如何发生。
使用 ASP.NET MVC 3 生成 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 像冠军一样,吐出一个错误,表明 doctype 未定义:
无法获取未定义或空引用的属性“名称”
我没有在 Google 搜索中找到任何关于此类的内容。有没有人有我可以探索的想法?现在我正在查看可能在 IE8 中错误地呈现 MVC3 母版页。
即使我在一个没有母版页的完全空白的新项目页面上也会发生这种情况,但在 JS fiddle 中不会发生这种情况。唔