angularjs - AngularJS - 将 url 动态添加到 $sceDelegateProvider.resourceUrlWhitelist
问题描述
我有这个片段,我在其中配置我的 AngularJS 应用程序以将某些 url 列入白名单
angular.module("MyModule").config(['$sceDelegateProvider', function ($sceDelegateProvider) {
$sceDelegateProvider.resourceUrlWhitelist(["mySite", "myOtherSite/**", "myOtherOtherSite/**"]);
}]);
我在网上到处搜索,似乎由于 AngualrJS 的阶段(配置和运行),提供者对象无权访问 angular 中可用的任何服务 - 或者我的所有服务 - 。
现在由于架构中的一些变化,不再可能拥有硬编码的 URL 列表。我想进行 REST 调用,然后将应用程序配置为使用从 REST API 返回的 URL。所以我想知道是否有可能做这样的事情,或者我是否可以做一些事情来覆盖 $sceDelegateProvider 的实现。
angular.module("MyModule")
.config(['$sceDelegateProvider', 'myHTTPService', function ($sceDelegateProvider, myHTTPService) {
myHTTPService.callSomeAPI(function (res) {
//...someMagic stuff here
$sceDelegateProvider.resourceUrlWhitelist(magicUrls);
});
}]);
解决方案
推荐阅读
- scala - Scala拆分序列或按分隔符列出
- vba - 收到错误“ByRef 参数类型不匹配”
- excel - 如何计算我单击形状的次数?
- android - 如何将回收站视图的全部内容刷新为默认值,包括它们所在的图标,但当前位置除外
- ios - 为什么我得到未定义的符号_OBJC_CLASS_$_FIRInstanceID?
- entity-framework - EF Core,不会为从 ICollection 继承的实体自动生成主键
- javascript - 使用 addEventListener 单击它时隐藏元素
- c++ - SDL_GetWindowSurface 和 SDL_CreateRenderer
- javascript - 如何通过 id 组合多个对象
- pymc - 具有随机游走或高斯过程的缓慢的潜在趋势