【问题标题】:Incomplete HTML in IE 11IE 11 中的不完整 HTML
【发布时间】:2014-02-07 02:37:30
【问题描述】:

我正在开发的网站不能在 IE 11 中呈现,但在其他所有浏览器中都可以正常工作。

当我使用 F12 开发人员工具对其进行调试时,除了标题部分之外,DOM 基本上是空的。我查看源代码时,只返回header部分和部分导航。

但是,当我在Compatibility View settings 下添加网站时,页面会正确呈现,但随后causes other problems

我想解决根本问题,而不是要求用户添加到兼容模式或必须设置 x-ua 兼容的标头标签。

我想不出是什么导致它只有一部分从服务器发送的 HTML。当我“查看源代码”时,它不像是在解析 HTML 以创建 DOM 或运行任何 JavaScript。它只是假设显示服务器发送下来的 HTML。

【问题讨论】:

  • 我的猜测是您的 HTML 中有语法错误。 IE10+ 似乎有点报复心,就好像恨了这么久一样在打我们所有人的脸。它放弃了对 HTML
  • 我在基于搜索的 SharePoint 网站上看到了同样的问题。在提琴手中查看它们,您会看到没有返回任何内容,因此它不仅仅是渲染。我的想法是它可能严格防止 Javascript 错误等。
  • 无法查看您的标记,我想知道我们应该如何推断出解决方案?不过,我猜想和艾舍伍德一样。您是否尝试过通过检查 HTML Tidy 的服务(如 dirtymarkup.com)来验证标记?
  • 我可以理解语法错误会如何导致 DOM 出现问题。但是,即使我查看不解析 HTML 的源代码,我也只能获得部分 HTML(来自服务器)
  • 您是否使用过fiddler 之类的工具来查看返回给客户端的内容?

标签: jquery internet-explorer-11 x-ua-compatible ie11-developer-tools


【解决方案1】:

我在 IE 11.0.9600 中遇到了同样的问题。并弄清楚如果在兼容性视图中加载了网页,则数据不完整。但是,如果它不在兼容性视图中(设置/兼容性视图设置,删除域),问题就解决了,我所有的 $().find() 都可以正常工作。

【讨论】:

    【解决方案2】:

    经过进一步调试,我能够确定在 IE 11 上发出的请求返回的内容类型设置为 application/xhtml+xml instead of text/html

    追查此问题的原因lead me to the culprit:App_Browsers 中的mobile.browser 文件

    删除此文件后,我的请求现在返回正确的content-type,并且 IE 11 能够毫无问题地呈现页面。

    希望这对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-14
      • 2021-08-20
      • 1970-01-01
      • 1970-01-01
      • 2016-09-06
      相关资源
      最近更新 更多