Javascript 角度设置$sce,单位为ng重复
我试图在iframe中显示视频,但没有显示任何内容,即使我获得了正确的嵌入链接。我已经尝试通过只显示链接来测试它,并显示正确的链接,当我为iframe硬编码相同的链接时,会显示视频,但在iframe中不会呈现任何内容,就像这样:Javascript 角度设置$sce,单位为ng重复,javascript,angularjs,iframe,Javascript,Angularjs,Iframe,我试图在iframe中显示视频,但没有显示任何内容,即使我获得了正确的嵌入链接。我已经尝试通过只显示链接来测试它,并显示正确的链接,当我为iframe硬编码相同的链接时,会显示视频,但在iframe中不会呈现任何内容,就像这样: <ion-item ng-repeat="article in articles" class="item-light"> <img ng-show="article.external_media.length == 0 || article.
<ion-item ng-repeat="article in articles" class="item-light">
<img ng-show="article.external_media.length == 0 || article.external_media.url == ''" src="http://coop.app/imagecache/cover/{{article.cover_image}}">
<iframe ng-show="article.external_media.length > 0 && article.external_media.url != ''" src="{{article.external_media[0].url}}"></iframe>
</ion-item>
因为我需要注入$sce依赖项,所以我想知道如何将它应用于控制器中所有可能的链接。这个函数看起来怎么样
我推荐一个过滤器
.filter( 'safeUrl', [
'$sce'
function( $sce ){
return function(url){
//not sure which one you need here
return $sce.trustAsUrl(url)
}
}
])
在html中
<iframe src="{{article.external_media[0].url | safeUrl}}">
我提倡过滤器胜过控制器方法,只是因为我喜欢保持我的控制器非常轻量级。如果需要解释某些内容,我会使用一个过滤器。这是一个
$sce
问题,您不能将不受信任的值作为src,因此您应该注入$sce
并将此特定资源作为有效资源。我尝试了您的建议,但我得到了ionic.bundle.js:26794错误:[$interpolate:interr]无法插入:{{article.external_media[0].url | safeUrl}错误:[$sce:insteUrl]阻止了从url加载资源,这是$sce委派策略所不允许的。请尝试改用$sce.trustAsResourceUrl
?我还没有将$sce用于iFrame,所以我不知道使用ergo my comment的正确方法。//不确定此处需要哪种方法
<iframe src="{{article.external_media[0].url | safeUrl}}">