【问题标题】:Angular JS Handling Ng-Repeated HTML5 Video & $SCEAngular JS 处理 Ng 重复的 HTML5 视频和 $SCE
【发布时间】:2014-03-20 00:43:24
【问题描述】:

这里是 JSfiddle:http://jsfiddle.net/TegFf/73/

通过answer,我了解到 Angular 1.2 附带启用了严格上下文转义 (SCE)。这会影响使用带有 HTML5 视频的 ng-src 的表达式解析器。我知道如果我将 $sce.trustAsResourceUrl(videoURL) 包裹在我的每个视频源周围,那么 Angular 将正常播放它们。但是,我从 API 中获取了视频源列表。循环遍历数组中的项目,将每个源分配为 $sce.trustAsResourceUrl,然后在我的视图中循环遍历该新数组,对我来说代价高昂。

将我的所有视频源指定为受信任的最有效方法是什么,而不必遍历所有视频源?我可以预先将所有视频源指定为 $sce 受信任吗?

【问题讨论】:

    标签: javascript html angularjs video


    【解决方案1】:

    您似乎想要将提供这些视频的域列入白名单。你可以使用$sceDelegateProvider来做到这一点

    您需要做的只是添加一些配置,如下所示:

    app.config(function($sceDelegateProvider) {
     $sceDelegateProvider.resourceUrlWhitelist([
       // Allow same origin resource loads.
       'self',
       // Allow loading from our assets domain.  Notice the difference between * and **.
       'http://media.w3.org/**']);
    });
    

    我已经用一个工作演示更新了你的小提琴:http://jsfiddle.net/spikeheap/ACJ77/1/

    【讨论】:

    • 感谢您的回复。你发布的小提琴和我原来的一样吗?
    • 对不起,显然我忘了保存它!我已经更新了答案中的链接...
    猜你喜欢
    • 1970-01-01
    • 2015-11-30
    • 2011-07-31
    • 2013-07-26
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多