반응형
$sce.trustAsResourceUrl() 글로벌
어떻게 하면 좋을까요?$sce.trustAsResourceUrl('URL_HERE');
메인 앱과 같이 글로벌하게config()
또는run()
iFrames, img src 등이 기능하도록 합니다.URL_HERE
작동할까요?
의사들은 이것을 설명하는데 다소 서투르다.
필터를 사용할 수도 있습니다.이것들은 글로벌하게 이용할 수 있습니다.
angular.module('myApp')
.filter('trustUrl', function ($sce) {
return function(url) {
return $sce.trustAsResourceUrl(url);
};
});
<img ng-src={{ imageHref | trustUrl }}">
방금 전 답변에서 보내주신 댓글을 읽었습니다.해결책을 찾았는지 아직 확실하지 않아요.화이트리스트 타입의 것을 찾고 있는 것 같습니다.$sce에 화이트리스트 기능이 있다는 것을 최근에 알았습니다.
앵귤러에서 찍다$sceDelegateProvider의 JS 문서:
angular.module('myApp', []).config(function($sceDelegateProvider) {
$sceDelegateProvider.resourceUrlWhitelist([
// Allow same origin resource loads.
'self',
// Allow loading from our assets domain. Notice the difference between * and **.
'http://srv*.assets.example.com/**']);
})
이를 통해 iframe에서 다음과 같은 문자열 보간을 수행할 수 있습니다.
<iframe ng-src="{{ 'http://srv1.assets.example.com/' + url_asset }}"></iframe>
필터 솔루션도 마음에 들었습니다만, $sce를 제대로 삽입할 때까지 효과가 없었습니다.
app.filter('trustUrl', ['$sce', function ($sce) {
return function(url) {
return $sce.trustAsResourceUrl(url);
};
}]);
파일 시스템에 저장된 비디오에 사용합니다.
app.config( [
'$sceDelegateProvider',
function($sceDelegateProvider)
{
$sceDelegateProvider.resourceUrlWhitelist(['self','filesystem:**']);
}
]);
언급URL : https://stackoverflow.com/questions/20049261/sce-trustasresourceurl-globally
반응형
'programing' 카테고리의 다른 글
jQuery ajax 호출에 여러 파라미터 전달 (0) | 2023.02.26 |
---|---|
jq: 문자열로 어레이를 인덱싱할 수 없습니다. (0) | 2023.02.26 |
onEnter가 React-Router에서 호출되지 않음 (0) | 2023.02.21 |
익명 유형을 포함하는 JsonResult의 아사트 (0) | 2023.02.21 |
ng-배열이 비어 있는지 확인합니다. (0) | 2023.02.21 |