iframe中的src直接替换成ng—src不可以,需要转换一下。Angular里面有个属性是专门用来解决跨域问题的 $sce。 PS:$sce ($sce服务把一些地址变成安全的、授权的链接..)常用的方法有:
$sce.trustAs(type,name); $sce.trustAsHtml(value); $sce.trustAsUrl(value); $sce.trustAsResourceUrl(value); $sce.trustAsJs(value);
$scope.someUrl = $sce.trustAsResourceUrl(‘路径‘);
举个栗子 >>
$scope.httpsurl = $sce.trustAsResourceUrl(‘https://xxxx.xxxx.com/xxx/index.htm‘); <iframe ng-src="{{$scope.httpsurl}}" height="100%" width="100%"></iframe>
为了使用方面,挂在过滤器里面
angular.module(‘app‘, []) .filter(‘iframeSrc‘, [‘$sce‘, function($sce) { return function(val) { return $sce.trustAsResourceUrl(val); }; }])
HTML
<iframe ng-src="{{someUrl |iframeSrc}}" height="100%" width="100%"></iframe>
< 春风十里不如"你" -- 如果我爱"你" >
时间: 2024-12-25 13:08:34