Rob*_*res 18 javascript internet-explorer-7 angularjs
为了确保AngularJS能否在我需要的浏览器上工作,我做了一个简单的数据绑定演示,可以在Firefox,Chrome和IE8 +上正常工作但我还需要在IE7上运行.不幸的是,我无法让它发挥作用.它只显示带有花括号的html,忽略ng-属性.
我已经在Internet Explorer上查看了几篇 关于AngularJS的帖子 , 并尝试了每个帖子的建议修复,但我的演示没有任何效果.
这是我演示的HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Angular IE7 Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<!--[if lt IE 9]>
<script type="text/javascript" src="angularjs/html5shiv.js"></script>
<![endif]-->
<!--[if lt IE 8]>
<script type="text/javascript" src="angularjs/json3.js"></script>
<![endif]-->
<script language="JavaScript" src="angularjs/angular.min.js"></script>
<script language="JavaScript" src="angularjs/test.js"></script>
</head>
<body class="ng-app">
<div ng-controller="serversCtrl">
<p>{{texto}}</p>
<table border="1">
<tbody>
<tr><th>Col1</th><th>Col2</th><th>Col3</th></tr>
<tr ng-repeat="item in items"><td>{{item.col1}}</td><td>{{item.col2}}</td><td>{{item.col3}}</td></tr>
</tbody>
</table>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是包含控制器和模型的test.js javascript:
function serversCtrl($scope, $http, $location) {
$scope.texto = "Texto dinamico";
$scope.items = [
{col1: "foo1", col2: "bar1", col3: "baz1"},
{col1: "foo2", col2: "bar2", col3: "baz2"},
{col1: "foo3", col2: "bar3", col3: "baz3"},
{col1: "foo4", col2: "bar4", col3: "baz4"},
{col1: "foo5", col2: "bar5", col3: "baz5"}
];
}
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?是否还有其他提示让我错过了?
编辑:我正在使用AngularJS v1.0.5
Ste*_*wie 62
1)添加id="ng-app"到您的身体标签.
<body ng-app="myApp" id="ng-app">
Run Code Online (Sandbox Code Playgroud)
2)告知您的用户/客户是2013年.
Rob*_*res 19
经过一番阅读后,我可以让它发挥作用.
IE7的问题是引导.它没有发射任何东西!所以我做了一个手动初始化,如本页所示,它工作.
这是我添加到HTML中的代码,确保它只会在Internet Explorer 8或更低版本上触发(因为如果我为所有浏览器触发它,某些事件处理程序会为非ie浏览器触发两次):
<!--[if lte IE 8]>
<script type="text/javascript">
$(document).ready(function() {
angular.bootstrap(document);
});
</script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
该$document.ready()部分是jQuery方式,以确保当正文中的所有内容都已加载时将执行此代码,但由于我在我的网站上使用jQuery,我利用它.
| 归档时间: |
|
| 查看次数: |
18444 次 |
| 最近记录: |