1

我有一个文档类型的页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

我正在尝试在使用 IE8 测试的页面上运行 jQuery 动画。动画不起作用,即使触发了“动画完成”回调,也不会尝试动画。

如果我将文档类型更改为:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

动画效果完美。该添加的 URL 是必要的还是必需的?

编辑:我应该补充一点,我无法控制原始页面的 HTML。我只是将这个 doctype 放到一个测试页面中,看看这是否是问题所在。

4

1 回答 1

3

您引用的 URL 指向您的文档使用的定义;有几个选项

您很可能在 Quirks 模式(使 IE8 的行为类似于 IE5.5)和标准模式之间遇到问题。如果您按 F12,您应该能够通过开发人员工具识别您所处的文档模式。

有几种方法可以让浏览器回到标准模式:

  • 在 HTTP 响应中发送x-ua-compatible一个值为 的标头。IE=edge
  • 使用较短的<!DOCTYPE html>文档类型
  • 或使用meta标签提供x-ua-compatible说明

除此之外,如果您无法修改标记,您将无法强制页面进入标准。当然,您可以通过在开发人员工具中手动覆盖文档模式来体验标准模式;但这不会影响任何其他用户。

补充阅读:

于 2013-04-10T21:17:47.617 回答