字符“>”(>)在IE11中打破角度

时间:2015-04-03 21:38:07

标签: html angularjs encoding

我在使用IE11中的角色时遇到问题。它在角度指令的jade模板中使用,它只是IE11中的一个问题。

我有两个span标签,第一个包含字符">"以下一个包含{{var}}。该变量按字面打印为" {{var}}"在浏览器中而不是" val",但是当我将第一个跨度内容更改为其他任何内容时,{{var}}被渲染为" val"。

我尝试过使用HTML实体(›)但它仍然会破坏它。我已经尝试了其他几个HTML实体,它们工作正常。

这个特定角色似乎是一个问题。有谁知道这是为什么?

以下是代码:

span.rsaquo  ›
span.subcategory  {{ category.subname }}

这是输出:

enter image description here

2 个答案:

答案 0 :(得分:3)

我在代码中直接使用双尖括号字符看到了这个问题。我还发现在使用ndash字符时。我找到的解决方案是在任何你想使用这些有趣字符的地方使用ng-bind-template属性。

<span ng-bind-template="rsaquo >">
    <span>{{category.subname}}</span>
</span>

<span ng-bind-template="rsaquo >">
    <span ng-bind="category.subname"></span>
</span>

潜在的问题是IE停止使用这些字符处理DOM元素上的javascript(虽然我不确定为什么)。它只用于包含该角色的元素以及任何子元素。

只有在加载页面时角色直接出现在HTML中才会发生。这就是为什么如果你把它放在ng-bind-template指令中,IE就不会看到它,直到所有内容都加载完毕并处理完所有内容。

答案 1 :(得分:0)

span.rsaquo  ›

你有空间。尝试不给这样的空间:

span.rsaquo›