当前位置: 首页 > 面试题库 >

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

胡玉书
2023-03-14
问题内容

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

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

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


问题答案:

您似乎想要将这些视频将从中投放的域列入白名单。您可以使用$
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/



 类似资料:
  • 但当列表为空时,我该如何处理该情况?我希望有一个消息框,其中的列表是类似“无事件”或类似的东西。唯一接近的是带有

  • 问题内容: 在此提琴中,AngularJS 不能与HTML5 Video元素一起使用:http : //jsfiddle.net/FsHah/5/ 看一下video元素,正在使用正确的src uri填充src标签,但是视频无法播放。 难道这不支持在AngularJS,究竟是什么解决办法? 问题答案: 只需创建一个过滤器: 在查看文件中:

  • 我试图理解ng-if和作用域。正如我所知,ng-if创建了一个新的子作用域。以下是我的问题: 我的问题是,在这两种情况下(true或false)我都无法访问someValue2。我怎么能做到这一点?

  • 我正在为我的申请寻找最好的方法。我有视频上传功能。前端将发送请求并附上视频文件,然后我的后端将处理该请求,将减小视频的大小和质量(使用),然后将基于视频的第一帧创建缩略图图像,然后将视频和他的缩略图图像上传到AWS S3 bucket,最后将压缩的视频和缩略图返回到前端。我遇到的问题是,所有压缩、创建缩略图和上传的(后端)任务都非常耗时,有时(取决于视频大小和持续时间)我的服务器会返回504网关超

  • 虽然HTML5的画布API没有提供直接在画布上绘制视频的方法,但是我们一定可以处理视频,其方法是从隐藏的video标签中捕获视频的帧,再使用循环把它们拷贝到画布上。 图3-5 处理视频 准备工作 开始之前,让我们谈一谈每个浏览器所支持的HTML5视频格式。在本书写作之时,关于视频格式的战争还在如火如荼的进行着,所有的主流浏览器,如Chome, Firefox, Opera, Safari, and

  • function checkVideo() { if(!!document.createElement('video').canPlayType) { var vidTest=document.createElement("video"); oggTest=vidTest.canPlayType('video/ogg; codecs="theora, vorbis"'); if (!oggTest