0

我们目前正在寻找有关如何解决当前在 IE 9 上的问题的建议或帮助。我们有一个 Web 应用程序,例如由 AngularJS 和 Laravel 创建的 YouTube。Web 应用程序可以在 Firefox 和 Chrome 中打开并运行良好,但在 IE 9 上无法运行。它只显示一个网页,我注意到以下内容:

Firefox 和 Chrome URLL:https://abc/tube/index.php/login
IE 9 网址:https://abc/#/tube/index.php/login

IE9 URL 在 URL 中插入了 # 字符。

我们的 AngularJS 代码是:

loginApp.config(function( $routeProvider, $locationProvider ) {
    $locationProvider.html5Mode(true);

    $routeProvider.when('/tube/index.php/login', {
        controller: 'LoginController',
        templateUrl: '../js/partials/login.html'
    }).when('/tube/index.php/admin', {
        controller: 'LoginController',
        templateUrl: '../js/partials/admin.html'
    }).otherwise({ redirectTo: '' });
});

angular.bootstrap( document.getElementById('loginApp'), ['loginApp'] );

IE 9 中没有错误,以下是您尝试检查时加载的 IE 9:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <META content="text/html; charset=shift_jis" http-equiv="Content-Type">
    </HEAD>
    <BODY></BODY>
</HTML>

请帮助我们解决这个问题,因为我们 61% 的用户使用 IE 9。我们也没有选择升级到更高版本的 IE。

4

1 回答 1

0

Microsoft 在 Internet Explorer 10 中提供了对History API的支持。以前版本的 IE 需要使用片段方法而不是单页应用程序。

有关更多信息,请参阅AngularJS 文档中的使用 $location

于 2014-11-27T01:36:16.970 回答