Angular Render html不起作用

时间:2015-11-15 13:10:37

标签: javascript html angularjs

我有这个从服务器端到达的字符串。

  <iframe scrolling="no" frameborder="0" allowtransparency="true" height="250" width="300" style="border:0;" src="http://cdn.castplatform.com/scripts/au1324.html?subid=6e6c4c9092a4fd311393cd770c71ff05"></iframe&gt

我想呈现渲染的html。 当使用$ sce.trustAsHtml时,我进入视图:

<iframe scrolling="no" frameborder="0" allowtransparency="true" height="250" width="300" style="border:0;" src="http://cdn.castplatform.com/scripts/au1324.html?subid=6e6c4c9092a4fd311393cd770c71ff05"></iframe>

我希望得到html渲染(见图片)而不仅仅是从转义字符中剥离的html(如上所述):

html rendered as I would expected

我在这里失踪了什么? 这是js代码:

$scope.field_value = $sce.trustAsHtml($sanitize(field_value)); 

和查看代码:

<div ng-bind-html="field_value"></div>

感谢。

1 个答案:

答案 0 :(得分:0)

您需要另一个解码步骤(从https://stackoverflow.com/a/31290632/3563439复制):

app.filter('trusted', ['$sce', function($sce) {
    var div = document.createElement('div');
    return function(text) {
        div.innerHTML = text;
        return $sce.trustAsHtml(div.textContent);
    };

小提琴:http://jsfiddle.net/masa671/8kphL7xe/