我有一个angularJS应用程序,我们需要支持IE8以及现代浏览器。
由于AngularJS 1.3+不支持IE8,我想测试浏览器是否为IE8,如果是,请加载angularJS 1.2.27否则1.3.14
这就是我的尝试:
<script>
$(function () {
if (isIE8()) {
$.getScript("https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js", function (data, textStatus, jqxhr) {
$.getScript("wte_allocationapproval.js", function (data, textStatus, jqxhr) {
});
});
} else {
$.getScript("https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js", function (data, textStatus, jqxhr) {
$.getScript("wte_allocationapproval.js", function (data, textStatus, jqxhr) {
});
});
}
});
</script>
<!---<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js"></script>
<script src="wte_allocationapproval.js"></script> --->
<div ng-app="AllocationApprovalApp">
<div ng-controller="AllocationApprovalController">
wte_allocationapproval.js拥有所有NG代码。如果我使用简单的脚本标记,一切正常:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="wte_allocationapproval.js"></script>
但是当我尝试动态加载时,我得到了:
备注:
答案 0 :(得分:1)
如果您可以访问服务器端模板,例如Java(JSP),.NET,PHP等,您可以查看传入的用户代理并根据该服务器代理回送所需的版本。我不确定会有多大的问题。在Java中,它看起来像:
<% String ua = request.getHeader(“User-Agent”);
boolean IE8 = (ua != null && ua.indexOf(“MSIE 8″) != -1); %>
<% if(IE8) { %>
<script src="angular12">
<% } else { %>
<script src="angular13">
<% } %>