问题:项目中遇到需要将url的值赋到iframe的src属性上,一直报错
解决方法:
1、ng里面有个属性是专门用来解决跨域问题的 $sce。
用法:
$scope.someUrl = $sce.trustAsResourceUrl('路径');
例:
将$sce引入控制器中
信任该URL:
vm.masUrl = $sce.trustAsResourceUrl(vm.masUrl);
iframe页面取值:
<span ng-if="item.videoid!=0">
<iframe ng-src="{{picsDetail.masUrl}}" frameborder="0" width="800" height="550" scrolling="no" ></iframe>
</span>
2、可以利用上面的方法写一个过滤器
angular.module('filters-module', [])
.filter('trustAsResourceUrl', ['$sce', function($sce) {
return function(val) {
return $sce.trustAsResourceUrl(val);
};
}])
例:
<ul class="nav nav-tabs" ng-repeat="item in [1,2,3,4]">
<iframe ng-src="{{someUrl |trustAsResourceUrl }}" height="100%" width="100%"></iframe>
</ul>