javascript - AngularJs 未加载外部资源

标签 javascript angularjs cordova

使用 Angular 和 Phonegap,我正在尝试加载位于远程服务器上但遇到问题的视频。在我的 JSON 中,URL 是作为纯 HTTP URL 输入的。

"src" : "http://www.somesite.com/myvideo.mp4"

我的视频模板

 <video controls poster="img/poster.png">
       <source ng-src="{{object.src}}" type="video/mp4"/>
 </video>

我的所有其他数据都已加载,但当我查看控制台时,我收到此错误:

Error: [$interpolate:interr] Can't interpolate: {{object.src}}
Error: [$sce:insecurl] Blocked loading resource from url not allowed by $sceDelegate policy.  URL

我尝试在我的配置设置中添加 $compileProvider,但它没有解决我的问题。

$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|tel):/);

我看到了this post about cross domain issue s 但我不确定如何解决这个问题或我应该朝哪个方向发展。有什么想法吗?任何帮助表示赞赏

最佳答案

另一个简单的解决方案是创建一个过滤器:

app.filter('trusted', ['$sce', function ($sce) {
    return function(url) {
        return $sce.trustAsResourceUrl(url);
    };
}]);

然后在ng-src中指定过滤器:

<video controls poster="img/poster.png">
       <source ng-src="{{object.src | trusted}}" type="video/mp4"/>
</video>

关于javascript - AngularJs 未加载外部资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21292114/

相关文章:

android - 每次我打开 Phonegap 应用程序时,它都会重新启动。有返回同一页面的建议吗?

javascript - 在 Bootstrap 3 中选中时将复选框标签设置为粗体

javascript - 如何制作具有可变高度主体的页眉/主体/页脚 'popup' div?

javascript - 显示无效登录等警报消息的 Angular 方式是什么?

c# - Xamarin 的优点和缺点 Vis a Vis 其他框架

android - 防止在 android webview 上的 jquerymobile 中滑动时触发点击事件

javascript - 如何阻止 JS 函数在移动设备上运行?

javascript - 获取字符串中的所有数字并将其推送到数组(javascript)

angularjs - Foreach 进入带有 $http promise 的 foreach

angularjs - 为什么我不能从名为 'users' 的文件夹加载文件?