将$ sceDelegateProvider放在MEAN Js

时间:2017-10-16 02:44:41

标签: angularjs meanjs

我正在尝试使用$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源,我应该把这段代码放在哪里?

1 个答案:

答案 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

的Angular文档