Angular和youtube iframe问题

时间:2013-12-30 19:18:12

标签: javascript angularjs youtube

我正在尝试将YouTube视频添加到我的应用中,但angular会移除iframe代码并且不显示,我正在使用此

<div class="content-read" ng-bind-html="data.content"> </ div>

尝试使用ng-bind-html-unsafe,但我认为这是从当前版本的angularjs中删除的

我正在使用角度1.2.3

我也有这个

app.config(['$sceDelegateProvider', function($sceDelegateProvider) {
     $sceDelegateProvider.resourceUrlWhitelist([
        'self',
        'http://www.youtube.com/**',
    ]);

}]);

有什么想法吗?

感谢

1 个答案:

答案 0 :(得分:0)

我找到的最佳解决方案是创建一个符合ng-bind-html-unsafe功能的指令

app.directive('ngBindHtmlUnsafe', ['$sce', function($sce){
return {
    scope: {
        ngBindHtmlUnsafe: '=',
    },
    template: "<div ng-bind-html='trustedHtml'></div>",
    link: function($scope, iElm, iAttrs, controller) {
        $scope.updateView = function() {
            $scope.trustedHtml = $sce.trustAsHtml($scope.ngBindHtmlUnsafe);
        }

        $scope.$watch('ngBindHtmlUnsafe', function(newVal, oldVal) {
            $scope.updateView(newVal);
        });
    }
};
}]);