我有一个使用Twitter Bootstrap的 ASP.NET 站点,当我在本地运行时一切看起来都很棒,但是当我在本地部署或部署到我们的测试环境时,所有 HTML5 元素似乎都被忽略了。我有一个 DOCTYPE 应该允许我使用 HTML5:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
我怎样才能让它工作?
我有一个使用Twitter Bootstrap的 ASP.NET 站点,当我在本地运行时一切看起来都很棒,但是当我在本地部署或部署到我们的测试环境时,所有 HTML5 元素似乎都被忽略了。我有一个 DOCTYPE 应该允许我使用 HTML5:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
我怎样才能让它工作?
默认情况下,IE 会检查网站是否在您的 Intranet 中,以便它可以将 Intranet 安全应用于您的浏览。另一个很棒的功能是它默认将文档兼容模式设置为 IE7 用于 Intranet 站点 - 而 IE7 在 HTML5 方面并不出色。如果您按 F12 并拉起开发人员工具(顶部的文档模式),您可以看到这一点。
所以,好消息是,这只是 Intranet 中的一个问题——一旦你部署到生产服务器,你应该不会再遇到这个问题了。坏消息是,当这种行为生效时,很难进行正确的测试。
当然,您可以更改 IE 设置以不自动检测 Intranet 站点。但是,对于更具可扩展性的解决方案,您可以在页面中包含此元标记以强制使用更高的兼容性模式:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
参考本文评论。