1

所以我试图在 IE8 上进行 Angular 工作。我已按照http://docs.angularjs.org/guide/ie上的所有步骤进行操作,并且它似乎正在工作——ng-view当我在视图之间切换时,我看到了在 IE8 上呈现的内容。

问题是我实际上没有在检查器中看到任何内容:

在此处输入图像描述

.. 它只是一个空的 ng-view 标签。我可以看到页面上的所有内容,但没有任何样式应用于ng-view.

我不确定这是角度问题还是 HTML5 问题。我在外面添加了html5shiv和 HTML5 元素,ng-view它们的样式很好。

编辑

我已经确定问题出在 HTML5 元素上。<section>并且<article>没有样式 inside ng-view,而简单的 div 接收所有指定的样式。之外ng-view<nav>并且<header>样式很好。

4

2 回答 2

1

我能够根据此处给出的答案在 IE8 中有条件地包含 jQuery 来解决此问题https://stackoverflow.com/a/18317832/2026098

于 2013-12-14T13:11:40.940 回答
1

这里的问题是,即使您根据 IE 指南添加命名空间和/或预创建元素,角核心的某些部分也不会通过正常的 jQuery 元素创建 - 我的问题仍然存在当使用完整的 jQuery 而不是 Angular 的 jQLite 时,但我听说这可以解决大多数人的问题。使用 HTML5 shim 本身也不能解决问题。

但即便如此,如果可能的话,我宁愿不必替换jQuery,在这种情况下,您还需要执行以下操作才能获得完整的解决方案:

  • 为块级 HTML5 元素添加重置样式,使其display: block;正确
  • 在您的 CSS 中也以冒号前缀定位 HTML5 元素。你需要逃避这些,它看起来像这样:header, \3A header { /*...*/ }. 请注意,转义序列和选择器的其余部分之间有一个空格。
  • 如果您使用jQuery,则需要使用 1.10.x 版本或条件标签才能在 IE8 中切换到它。
于 2014-04-16T23:23:59.700 回答