一尘不染

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

angularjs

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

从这个答案中,我了解到Angular 1.2附带了严格的上下文转义(SCE)。这会影响ng- src与HTML5视频一起使用的表达式解析器。我了解到,如果我环绕$sce.trustAsResourceUrl(videoURL)每个视频源,那么Angular会像往常一样播放它们。但是,我从API获得了一系列视频源。对我来说,遍历数组中的项,将每个源分配为$sce.trustAsResourceUrl,然后遍历我的视图中的新数组,这是很昂贵的。

将我所有的视频源分配为受信任而不必循环访问所有视频源的最有效方法是什么?我可以$sce预先将所有视频源分配为受信任吗?


阅读 230

收藏
2020-07-04

共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/

2020-07-04