angularjs ng-view无法使用外部templateUrl

时间:2012-07-21 15:00:18

标签: cross-browser angularjs

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

该应用程序使用带有ng_view指令的partials,这样我只需要将我的应用程序“注入”我的某个页面即可...

<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});
}]);

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

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

1 个答案:

答案 0 :(得分:1)

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