我正在尝试使用$sceDelegateProvider
在我的项目中实现以下白名单:
External resource not being loaded by AngularJs
事情到处都是,我认为它应该继续抛出错误,我相信我没有正确实现它。
可以在此处找到代码:https://github.com/festiveox/PartyRaptor
基本上,我希望能够将{{vm.game.video}}
(这是用户提供的YouTube视频网址)称为/ modules / games / clients / views / view-中的iframe标签内的src game.client.view.html - 就像我正在使用图片标签。我明白为此我需要列出白名单或信任来自数据库的URL源,我应该把这段代码放在哪里?
答案 0 :(得分:0)
在配置阶段可以插入特定的代码块,在MEAN.JS中,它应该添加到此文件/modules/core/client/app/init.js
中,特别是在第26行之后:
function bootstrapConfig($compileProvider, $locationProvider, $httpProvider, $logProvider, $sceDelegateProvider) {
$locationProvider.html5Mode({
enabled: true,
requireBase: false
}).hashPrefix('!');
$httpProvider.interceptors.push('authInterceptor');
// Disable debug data for production environment
// @link https://docs.angularjs.org/guide/production
$compileProvider.debugInfoEnabled(app.applicationEnvironment !== 'production');
$logProvider.debugEnabled(app.applicationEnvironment !== 'production');
$sceDelegateProvider.resourceUrlWhitelist([
// Allow same origin resource loads.
'self',
// Allow loading from our assets domain. Notice the difference between * and **.
'http://srv*.assets.example.com/**'
]);
}
关于$sceDelegateProvider
here