4

我想采用一个在我自己的域上运行良好的 Angular 应用程序并将其“嵌入”到其他几个站点中。

该应用程序使用带有 ng_view 指令的部分,因此我唯一需要做的就是将我的应用程序“注入”到我的一个页面中......

<div ng-app="myapp" ng-view></div>

我的应用程序看起来像这样......

angular.module('myapp', ['myapp.filters', 'myapp.services', 'myapp.directives', 'ui']).
config(['$routeProvider', function($routeProvider) {
    $routeProvider.otherwise({templateUrl: 'partials/mainTemplate.html', controller: myController});
}]);

这很好用,但是当我尝试将应用程序“注入”到另一个站点时,除了外部化脚本引用之外,我还将应用程序更改为如下所示......

angular.module('myapp', ['myapp.filters', 'myapp.services', 'myapp.directives', 'ui']).
config(['$routeProvider', function($routeProvider) {
    $routeProvider.otherwise({templateUrl: ''http://mydomain.com/partials/mainTemplate.html', controller: myController});
}]);

但它不起作用......没有错误,没有任何东西,它只是不呈现我的应用程序。

有任何想法吗?是否允许外部部分引用?...浏览器是否过度保护?我应该采取完全不同的方法吗?

4

1 回答 1

1

我认为您应该在 mydomain.com 上启用 CORS以获得视图。而且,正如 bUKaneer 所说,您必须在 $sceDelegateProvider.resourceUrlWhitelist 中添加 mydomain.com

于 2014-07-23T15:33:45.363 回答