html - 字符 "›"(›) 在 IE11 中打破 Angular

标签 html angularjs encoding

我在 IE11 中使用字符时遇到问题。它在 angular 指令中的 jade 模板中使用,这只是 IE11 中的一个问题。

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

我已经尝试使用 HTML 实体 (),但它仍然无法正常工作。我已经尝试了其他几个 HTML 实体,它们工作得很好。

这似乎是这个特定 Angular 色的问题。有谁知道这是为什么吗?

代码如下:

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

这是输出:

enter image description here

最佳答案

我曾在我的代码中直接使用双尖括号字符看到过这个问题。我还发现是在使用 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 直到所有内容都已加载并处理完所有内容后才会看到它。

关于html - 字符 "›"(›) 在 IE11 中打破 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29440036/

相关文章:

javascript - Angular : How to filter by deep object property in array?

html - 使用 CSS3 格式化表单

html - Bootstrap : always fill background?

javascript - 如何将 window.location 与随机对象一起使用?

angularjs - "this"在使用 TypeScript 构建的 Angular 指令中的侧链接函数中未定义

javascript - Angular中加载dom后的回调函数

my.cnf 中具有多种数据库编码的 MySQL

Python - 使用翻转密码对文件进行编码

php - PHP 中 JavaScript 的 encodeURIcomponent 等价物是什么?

php - 如何向按名称排序的 foreach 循环选择框添加选项?