Angular JS处理Ng重复的HTML5视频和$ SCE

mcr*_*n18 5 javascript video html5 angularjs

JS在这里:http://jsfiddle.net/TegFf/73/

从这个答案,我了解Angular 1.2附带启用严格上下文转义(SCE).这会影响使用ng-srcHTML5视频的表达式解析器.我知道,如果我环绕$sce.trustAsResourceUrl(videoURL)每个视频源,那么Angular将正常播放它们.但是,我从API获取了一个视频源列表.循环遍历数组中的项目,将每个源分配为a $sce.trustAsResourceUrl,然后在我的视图中循环遍历该新数组,这对我来说很昂贵.

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

spi*_*eap 8

看起来你想要的是将这些视频提供的域列入白名单.你可以使用$ 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/**']);
});
Run Code Online (Sandbox Code Playgroud)

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