使用$ sceDelegateProvider将Typescript中的Youtube列入白名单

时间:2015-12-21 22:21:01

标签: angularjs typescript

我试图允许用户输入Youtube网址,以便我可以在我的网站上显示视频,但我需要先将Youtube列入白名单。如何修复我的app.ts文件以适应打字稿?文档看起来像这样:

.config(function ($sceDelegateProvider) {
    $sceDelegateProvider.resourceUrlWhitelist([
        'self',                    // trust all resources from the same origin
        '*://www.youtube.com/**'   // trust all resources from `www.youtube.com`
    ]);
});

问题是我的.config不包含function关键字,我相信因为我使用的是typescript。我的配置目前看起来像这样:

angular.module('MyApp', ['ngRoute', 'ngResource']).config(($routeProvider: ng.route.IRouteProvider, $locationProvider: ng.ILocationProvider, $sceDelegateProvider: ng.ISCEDelegateProvider ) => {
        $sceDelegateProvider.resourceUrlWhitelist([
            'self',                    // trust all resources from the same origin
            '*://www.youtube.com/**'   // trust all resources from `www.youtube.com`
        ]);

我收到的错误是该网址未列入白名单。我是否需要将.config与该函数粘贴到其他区域,或者是否有办法将Delegate提供程序包含在与我的路由提供程序和位置提供程序等相同的位置?

1 个答案:

答案 0 :(得分:0)

尝试对网络配置进行更改以允许此操作,但却无法正常工作。不得不使用youtube视频中的嵌入网址找到另一种方法。