当前位置: 首页 > 面试题库 >

在Internet Explorer 7上运行AngularJS应用

酆恩
2023-03-14
问题内容

为了确保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>

这是包含控制器和模型的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"}
    ];
}

难道我做错了什么?还有其他让我错过的技巧吗?

编辑: 我正在使用AngularJS v1.0.5


问题答案:

经过更多阅读后,我可以使其工作。

IE7的问题在于引导程序。它没有开火!因此,我进行了如下页所示的手动初始化,并且可以正常工作。

这是我添加到HTML中的代码,以确保它只能在Internet Explorer
8或更低版本上启动(因为如果我为所有浏览器都启动它,则某些事件处理程序将为非IE浏览器启动两次):

<!--[if lte IE 8]>
<script type="text/javascript">
    $(document).ready(function() {
        angular.bootstrap(document);
    });
</script>
<![endif]-->

$document.ready()部分是jQuery的一种方法,可以确保在身体上的所有内容加载完毕后都将执行此代码,但是由于我是在网站上使用jQuery的,所以我利用了它。



 类似资料:
  • 问题内容: 如何使用以下代码制作jsfiddle: 我无法正常工作的尝试:http : //jsfiddle.net/zhon/3DHjg/没有显示任何内容,并且有错误。 问题答案: @ pkozlowski.opensource有一篇不错的博客文章,介绍如何使用jsFiddle编写AngularJS示例程序。

  • 问题内容: 任何人都可以指出以下步骤/资源: 如何在Amazon EC2上部署Java EE应用 实例重新启动后(可能使用amazon-ebs)维护对应用服务器的元数据的更改(部署新应用程序) 问题答案: 如果您还没有运行过它,请先检查一下:http : //docs.aws.amazon.com/gettingstarted/latest/awsgsg- intro/intro.html, 它可

  • 问题内容: 我刚刚开始学习TDD,并且正在使用Tkinter GUI开发程序。唯一的问题是,一旦调用该方法,测试套件就会挂起,直到关闭窗口。 这是我的代码的示例: 测试Tkinter应用程序的合适方法是什么?还是只是“不”? 问题答案: 您可以做的一件事是在单独的线程中生成mainloop并使用您的主线程运行实际的测试;照看mainloop线程。进行断言之前,请确保检查Tk窗口的状态。 多线程处理

  • 问题内容: 我是Android的初学者。我有一个正在运行的模拟器。我创建了一个Android应用。当我运行该应用程序时,它将开始启动新的模拟器并在该新模拟器中运行。但是,我想在正在运行的同一模拟器中运行该应用程序。 问题答案: 打开您创建的运行配置,选择“目标”选项卡。选择单选按钮“在所有兼容设备/ AVD上启动”。将单选按钮下方的组合框切换为“活动AVD”。 这将在所有当前正在运行的模拟器上启动

  • 问题内容: 有没有办法在IIS上运行Go Web应用程序? 我找到了azure的设置,但是它在我的开发机器上不起作用, 这是azure的网络配置: 问题答案: 您的本地IIS无法正常运行,因为您需要安装一个名为HttpPlatformHandler模​​块的单独组件, https://azure.microsoft.com/zh-CN/blog/announcing-the-release-of-

  • 我试图在AWS EMR上运行一个Spark应用程序。我遵循http://blogs.aws.amazon.com/bigdata/post/tx15ay5c50k70rv/installing-apache-spark-on-an-amazon-emr-cluster的说明 我从S3中加载fat-jar(通过执行“SBT Assembly”获得)和应用程序所需的输入文件。我在Spark-1.1.0