1

我在这里放了一个 JSfiddle,这样你就可以看到实际工作的代码......

http://jsfiddle.net/vtKqG/1/

不幸的是,这在我的本地机器上不起作用,即使其他一切都可以(我有其他角度代码运行良好)。

在我的本地机器上,如果我使用的话,我只会在输出中看到我的 html。

ng-bind-html-unsafe="message.content"

代替...

ng-bind-html="message.content"

因此,在 JSfiddle 上,当我关闭“不安全”时它可以工作,但在我的本地机器上,不安全必须在那里,从安全的角度来看,这似乎是不可取的。

我正在加载相同版本的 Angular 并以相同的顺序进行清理,我认为我的代码是相同的,只是环境似乎不同。

有任何想法吗?

4

2 回答 2

5

您需要将您的模块添加到 ng-app:

<html ng-app='myApp'>
...

如果你不指定这个,Angular 只会加载模块 'ng',而不是 ng-sanitize。ng-bind-unsafe 在模块 ng 中,而不是在 ng-sanitize 中,这就是它意外工作的原因。

于 2012-12-26T22:42:22.247 回答
0

显然在 AngularJS 1.2+ 的新版本中他们改变了它,从那时起你必须使用 trustAsHtml() 方法来禁用 Html 转义。

解决方案可以在这里找到

于 2015-06-02T11:03:01.750 回答