我的应用程序似乎在chrome和FF中运行良好,但在IE中,路由存在问题。
如果我按以下方式声明我的应用
var app = angular.module('category', ['ngSanitize', 'ui']);
根本没有问题
但是如果我改变它以包括像这样的路线定义
var app = angular.module('category', ['ngSanitize', 'ui']).
config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.
when('/cat/', {templateUrl: '/category.inc.php', controller: 'CategoryProductsCtrl'}).
when('/cat/:colour_title/', {templateUrl: '/category.inc.php', controller: 'CategoryProductsCtrl'});
}]);
IE在地址栏中添加了#之前的#,而不是像
那样显示example.com/cat /
显示
example.com /#/猫/
在IE控制台中,我收到以下错误
错误:达到10 $ digest()次迭代。中止! 观察者在最后5次迭代中被解雇:[[“fn:function(){var a = d.url(),b = ..............
我已经完成了这里的步骤
http://docs.angularjs.org/guide/ie
并且包括
JSON2, 角-UI-ieshiv.min.js html5shim.js(使其在IE7中工作)
我在我的应用中没有使用ant自定义标签等。任何帮助,将不胜感激。我的应用程序实际上处于相同的状态,尽管我从服务器中提取数据
答案 0 :(得分:0)
您可以在路由器配置中将HTML5模式设置为true,并从网址中删除“#”,例如:url: 'http://your_site.com/page/home'
喜欢这样..
app.config: $locationProvider.html5Mode = true;
index.html: <base href="root_directory_here" />