更新
所以,看来这是IE和javascript更新title元素的问题。考虑到这一点,有谁知道如何解决这个问题?截至目前,我没有接受这个问题的答案,所以不妨深究这个问题。
原始问题:
我最近一直在深入研究AngularJS并热爱它。然而,我正在遇到一个重大问题。数据绑定/模板在IE 8中不起作用。我在我的$scope.pageTitle
中设置了一个名为MainController
的变量,它适用于Chrome和Firefox。在IE 8中,它在标题栏中显示为{{pageTitle}}
,我找不到任何有关如何解决此问题的信息。它让我疯狂。任何人都可以帮助或指向我可能已经看过的资源吗?如果真的需要我可以作为一个例子。
这是index.html
的顶部:
<!DOCTYPE html>
<html lang="en" ng-app="App" ng-controller="MainController">
<head>
<!-- Vendor JS Libraries -->
<script type="text/javascript" src="lib/angular.js"></script>
<script type="text/javascript" src="lib/underscore-min.js"></script>
<script type="text/javascript" src="lib/jquery.js"></script>
<!-- Bootstrap JS & CSS -->
<script type="text/javascript" src="lib/bootstrap/js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="lib/bootstrap/css/bootstrap.css">
<!-- Lightbox JS & CSS-->
<script type="text/javascript" src="lib/lightbox/js/lightbox.js"></script>
<link rel="stylesheet" type="text/css" href="lib/lightbox/css/lightbox.css">
<!-- Application resources -->
<script src="static/app.js"></script>
<link rel="stylesheet" type="text/css" href="static/app.css">
<title>{{pageTitle}} – Site Name</title>
</head>
和我的app.js
:
//AngularJS stuff
angular.module('App', []).
config(function($routeProvider)
{
$routeProvider.
when('/home', {templateUrl:'templates/home.html', controller:HomeController}).
otherwise({redirectTo:'/home'})
});
function MainController($scope){
$scope.pageTitle = 'Default';
$scope.setPageTitle = function(pageTitle){
$scope.pageTitle = pageTitle;
}
}
function HomeController($scope){
$scope.setPageTitle('Home');
}
答案 0 :(得分:2)
以为我会以评论的形式发布和回答。这似乎是IE的问题,并在Javascript中修改标题标记。我通过使用IE条件
解决了这个问题<!--[if !IE]> -->
<title>{{pageTitle}} – Site Title</title>
<!-- <![endif]-->
<!--[if IE]>
<title>Site Title</title>
<![endif]-->
不理想,但它有效。