如何让我的 Angular 应用程序在 ie8 中呈现?
Posted
技术标签:
【中文标题】如何让我的 Angular 应用程序在 ie8 中呈现?【英文标题】:How can I get my angular app to render in ie8? 【发布时间】:2014-09-04 20:42:52 【问题描述】:我无法让我的应用程序在 ie8 中呈现。我已经包括了我能想到的每一个垫片/刀。我的html有问题吗?我的应用程序在 ie9 以上的所有浏览器中都能完美运行。
感谢任何帮助,下面是我的 index.html 文件:
<!doctype html>
<html class="no-js" xmlns:ng="http://angularjs.org" id='ng-app' ng-app="PredictionApp" >
<head>
<meta charset="utf-8">
<title>Prediction App</title>
<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
<!-- build:css(.) styles/vendor.css -->
<!-- bower:css -->
<!-- endbower -->
<!-- endbuild -->
<!-- build:css(.tmp) styles/main.css -->
<!-- <link href='http://fonts.googleapis.com/css?family=Roboto:500,300|Crimson+Text:400,600,400italic' rel='stylesheet' type='text/css'> -->
<link rel="stylesheet" href="ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="bower_components/angular-rangeslider/angular.rangeSlider.css">
<link rel="stylesheet" href="bower_components/rickshaw/rickshaw.css">
<link rel="stylesheet" href="bower_components/allmighty-autocomplete/style/autocomplete.css">
<link rel="stylesheet" href="main.css">
<!-- endbuild -->
<!--[if lt IE 9]>
<script src="bower_components/html5shiv/dist/html5shiv.min.js"></script>
<script src="bower_components/es5-shim/es5-shim.min.js"></script>
<script src="bower_components/json3/lib/json3.min.js"></script>
<script src="bower_components/r2d3/r2d3.js" charset="utf-8"></script>
<script type="text/javascript" src="https://getfirebug.com/firebug-lite-debug.js"></script>
<![endif]-->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.min.js"></script>
<script src="bower_components/angular-animate/angular-animate.min.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.min.js"></script>
<script src="bower_components/angular-rangeslider/angular.rangeSlider.js"></script>
<script src="bower_components/moment/moment.js"></script>
<script src="bower_components/lodash/dist/lodash.compat.min.js"></script>
<script src="bower_components/clndr/clndr.min.js"></script>
<script src="bower_components/restangular/dist/restangular.js"></script>
<script src="bower_components/d3/d3.js"></script>
<script src="bower_components/rickshaw/rickshaw.js"></script>
<script src="bower_components/allmighty-autocomplete/script/autocomplete.js"></script>
<script src="bower_components/allmighty-autocomplete/script/app.js"></script>
<script src="application.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<div class='app-container' ui-view autoscroll="true"></div>
</body>
</html>
【问题讨论】:
您是否在为指令使用自定义标签?是否抛出任何错误? 我正在使用 firebug lite 在 ie8 的 VM 环境中进行调试,抛出了一些错误,但它们非常模糊,我无法确定。 1是Jquery未定义,另一个是“对象不支持此属性或方法”。但是,我正在使用自定义元素指令,而不是在默认路由中,因此对于主页来说应该不是问题。甚至没有任何 html 进入 ui-view 内的 DOM。 好吧,我用较早的版本解决了jquery的问题。现在我仍然得到一个预期的标识符或字符串错误。 确保您的所有插件/依赖项都与 IE8 兼容。确保你没有调用像console
这样的东西,除非你将它们指定为一个函数。尝试使用jslint.com 来帮助查找诸如尾随逗号1:one,2:two,
之类的错误信息。
@Dylan 感谢修复了该错误,但现在我遇到了注入器模块错误。
【参考方案1】:
他们没有正式支持的拉角 1.3。检查链接https://docs.angularjs.org/guide/ie 如果您支持 IE 8,您也可以尝试 Angular 1.2。
【讨论】:
以上是关于如何让我的 Angular 应用程序在 ie8 中呈现?的主要内容,如果未能解决你的问题,请参考以下文章