我有一个 Angular v1.3 应用程序,它使用 Angular ui-router v0.2.13 进行所有路由。该网站在所有浏览器上都能正常运行,包括 IE 10 和 IE 11,但不能在 IE 9 上运行(我们决定不再使用 IE8,据我所知 v1.3 无论如何也不支持 IE8)。尽管我尽了最大努力,IE 9 仍不断地解决我的问题$stateProvider's
otherwise
路线(设置为/*path
,一个可能的罪魁祸首,所以我出于测试目的禁用了该路由)。
试图得到any其他解决方法,我尝试过设置$locationProvider.html5Mode(false)
,修改了$locationProvider.hashPrefix
, 改变了<base href="/" />
各种 URL,包括<base href="/#!"/>
,我什至还包括了xmlns:ng="http://angularjs.org"
in the <html>
标签以进行良好测量。无论我如何尝试,IE 9 都会不断尝试解决我的问题otherwise
路线,或者如果该路线被禁用则什么也不做。顺便说一句,我的主页路由 URL 设置为/
.
由于发布截止日期迫在眉睫,我一直在密切关注代码,因此我将第一个承认我可能会忽略一些明显的事情。谁能提供任何其他提示或技巧来使 ui-router 在 IE 9 中正确解析?
我们使用类似下面的东西:
<!DOCTYPE html>
<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" ng-csp xml:lang="fr-CA">
//...
var app = angular.module('YourApp', [...]);
angular.bootstrap(document, ['YourApp'], {strictDi: true})
//...
angular.module('YourApp').config(['$stateProvider', '$urlRouterProvider', '$locationProvider',
function ($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(false);
$locationProvider.hashPrefix('!');
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
cache: false,
controller: 'HomeController as vm'
})
.state('anon', {
url: '/info',
controller: 'AnonController as vm'
})
//etc...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)