javascript - Angular在渲染视频和音频的url地址时报错
PHP中文网
PHP中文网 2017-04-11 12:04:51
[JavaScript讨论组]

项目是一种答题小游戏,题目里面有文字、图片、视频和音频4种格式,我用的angular框架,但是在渲染视频和音频时老是报错,用了$sce还是不能解决,求助大神。
下面是html部分的代码

js里面

.controller("timer",function($scope,$state,$sce){
        var str=$scope.store.sub[index].attachment;
        $scope.store.sub[index].attachment=$sce.trustAsResourceUrl(str);
    })
    

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
PHP中文网
.filter('trustAsResourceUrl', ['$sce', function($sce) {
    return function(val) {
        return $sce.trustAsResourceUrl(val);
    };
}])


<p class="other">
        <img  ng-src="{{store.sub[index].attachment|trustAsResourceUrl}}" class="image"/>
        <video width='100%' height="auto" class="video" controls="controls">
            <source ng-src="{{store.sub[index].attachment|trustAsResourceUrl}}">
        </video>
        <audio class="audio" controls="controls">
            <source ng-src="{{store.sub[index].attachment|trustAsResourceUrl}}">
        </audio>
    </p>
PHP中文网

参考$sce的使用

.controller("timer",function($scope,$state,$sce){
    var str=$scope.store.sub[index].attachment;
    
    // $scope.store.sub[index].attachment已经存在了,所以ng-src已经赋值了,并没有经过$sce的处理,所以会报错。
    
    // 下面的处理没有意义。所以$scope.store.sub[index].attachment的赋值一开始就应该是经过$sce处理后的返回值。
    
    $scope.store.sub[index].attachment=$sce.trustAsResourceUrl(str);
    })
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号