`

Angular 兼容IE方法

阅读更多



 

版本:本文Angualr 版本基于6.1.0

背景:在学习官方Hero教程到路由这一章时,想在IE打开 http://localhost:4200/dashboard ,后台报错,不兼容。

解决方法:在工程中找到 polyfills.ts 这个文件打开,内容如下(已修改完成):

/**
 * This file includes polyfills needed by Angular and is loaded before the app.
 * You can add your own extra polyfills to this file.
 *
 * This file is divided into 2 sections:
 *   1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
 *   2. Application imports. Files imported after ZoneJS that should be loaded before your main
 *      file.
 *
 * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
 * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
 * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
 *
 * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
 */

/***************************************************************************************************
 * BROWSER POLYFILLS
 */

/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';

/** IE10 and IE11 requires the following for NgClass support on SVG elements */
import 'classlist.js';  // Run `npm install --save classlist.js`.

/** IE10 and IE11 requires the following for the Reflect API. */
import 'core-js/es6/reflect';


/** Evergreen browsers require these. **/
// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
import 'core-js/es7/reflect';


/**
 * Web Animations `@angular/platform-browser/animations`
 * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
 * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
 **/
//import 'web-animations-js';  // Run `npm install --save web-animations-js`.

/**
 * By default, zone.js will patch all possible macroTask and DomEvents
 * user can disable parts of macroTask/DomEvents patch by setting following flags
 */

// (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
 // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
 // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames

 /*
 * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
 * with the following flag, it will bypass `zone.js` patch for IE/Edge
 */
// (window as any).__Zone_enable_cross_context_check = true;

/***************************************************************************************************
 * Zone JS is required by default for Angular itself.
 */
import 'zone.js/dist/zone';  // Included with Angular CLI.



/***************************************************************************************************
 * APPLICATION IMPORTS
 */

 

蓝色和红色标注的有 import 内容是手工操作和注意的地方。

其中 两个依赖需要手工下载:

npm install --save classlist.js
npm install --save web-animations-js

最后下载完成后,再把import 前面的注释给去掉,我在执行 npm install --save web-animations-js 这句时,一直下载失败,就没有放出import(执行程序的时候并没有报错,也兼容IE了)。

 

完成上面的操作,执行 

ng serve --open

 

打开IE 输入:http://localhost:4200/dashboard

就可以在IE看到:

 
 

 

参考:https://blog.csdn.net/zmh458/article/details/80456968

 

  • 大小: 23.7 KB
分享到:
评论

相关推荐

    AngularJs兼容IE6-IE7-IE8

    项目需要、在网上查找angularjs支持ie低版本的问题(主要是windows7下只有IE8)整理了一个小demo 主要两点 1、ng-app="myApp" id="test11" 加上id="XXX" 加入以下代码注册到页面上 angular.element(document)....

    兼容IE日期控件

    "兼容IE日期控件"的标题和描述暗示了我们关注的焦点在于一个能够良好运行在Internet Explorer(IE)浏览器上的日期选择器。由于IE曾经是广泛使用的浏览器,尤其是在企业环境中,因此对于开发人员来说,确保其应用...

    关于angular浏览器兼容性问题的解决方案

    对于IE和其他旧版浏览器,开发者通常需要采用更全面的兼容性策略,例如使用polyfills来填充浏览器不支持的JavaScript特性,或者使用条件注释、特性检测等方法来提供降级体验。此外,使用Babel进行ES6+语法转换也是...

    浏览器兼容 谷歌IE8.js,IE9.js下载

    对于复杂的应用,可能还需要配合其他技术和策略,如使用渐进增强或优雅降级的方法,以及考虑使用现代前端框架和库,如React、Vue或Angular,这些框架通常会提供更好的跨浏览器兼容性支持。 总的来说,`IE8.js`和`IE...

    layer最新(兼容ie8)

    "layer最新(兼容ie8)"表明这是Layer的一个更新版本,特别强调了对老旧浏览器Internet Explorer 8(IE8)的兼容性,这对于那些仍需支持旧版浏览器的项目来说是非常重要的。 Layer插件的核心功能在于提供各种类型的弹...

    angular-file-upload-forie9

    在本文中,我们将深入探讨如何实现“angular-file-upload-forie9”项目,这是一个针对AngularJS框架的文件上传组件,经过修改后,它已兼容Internet Explorer 9(IE9)浏览器。在开发过程中,经常会遇到现代浏览器能...

    IE兼容性插件

    7. **与现代前端框架的集成**:如果使用React、Vue或Angular等现代前端框架,需要确保PIE与这些框架的兼容性,或者寻找更适合框架的解决方案,如使用CSS-in-JS库,它们通常内置了对旧浏览器的兼容处理。 总之,"IE...

    angularjs 兼容js

    `json3.min.js` 是一个轻量级的JSON polyfill,它提供了完整的JSON API实现,包括`parse()`和`stringify()`方法,使得AngularJS在旧版IE中可以处理JSON数据。 2. **respond.js** 和 **respond.min.js**: 这两个...

    IE11兼容性问题完美解决(用户代理字符串)

    4. **采用现代前端框架和库**:许多现代框架和库如React、Angular、Vue.js等已经考虑了浏览器兼容性,它们的最新版本通常会处理大部分兼容性问题。同时,使用Babel等工具将ES6+语法转换为广泛支持的ES5语法,也能...

    angular-1.2.23 官方包

    因此,如果你需要兼容IE8,`angular-1.2.23`是一个合适的选择。 ### 10. 依赖注入(Dependency Injection) AngularJS的依赖注入系统使得组件之间可以轻松地共享和管理依赖。在1.2.23中,所有服务、控制器、指令等...

    angular浏览器兼容性问题解决方案.docx

    ### Angular 浏览器兼容性问题解决方案 #### 一、Edge 浏览器下固定列边框消失问题 ##### 问题描述 在 Edge 浏览器中,使用 `ng-zorro-antd` 表格组件时,如果使用 `nzLeft` 和 `nzRight` 指令来固定表格的某列,...

    Js 实现的幻灯片效果 兼容 IE FF

    5. **兼容性处理**:由于JavaScript在不同浏览器中的实现可能存在差异,特别是对于老版本的Internet Explorer (IE)和Firefox,我们需要确保代码具有良好的浏览器兼容性。这可能涉及到使用polyfills(用于提供缺失...

    兼容ie,firefox,google等多浏览器的日历控件

    本知识点主要聚焦于一个兼容IE、Firefox、Google等多浏览器的日历控件的实现,这在跨平台、跨设备的网页应用中尤为重要。 1. **浏览器兼容性**: - Internet Explorer (IE):尽管IE的市场份额已经显著下降,但仍有...

    angularjs兼容性测试IE7

    例如,`angular.js`文件中包含了对旧版IE的shim,如$window、$document服务等。 4. **IE7的CSS兼容性**:除了JavaScript,还需要考虑CSS在IE7上的兼容性。很多现代CSS3属性在IE7中不可用,需要使用条件注释或者工具...

    在线编辑器添加设置行距功能(兼容ie和firefox)

    标题“在线编辑器添加设置行距功能(兼容ie和firefox)”涉及到的是在Web开发中创建一个在线文本编辑器,并为其增加调整行距的功能,同时确保该功能在Internet Explorer(IE)和Firefox这两种主流浏览器上都能正常工作...

    jquery 小游戏制作网页版坦克大战游戏源码下载(不兼容IE)

    然而,由于该游戏不兼容IE浏览器,可能是因为jQuery的某些特性在IE上的支持不佳,或者游戏的其他技术依赖不被IE支持。这提醒我们在进行Web开发时,应当考虑到不同浏览器的兼容性问题,尤其是对于一些老版本或者市场...

    angular-1.2.13

    - 这个版本可能已经移除了对旧浏览器的兼容,如IE8,因为AngularJS 1.3开始正式放弃对它们的支持。 **学习AngularJS 1.2.13需要注意的事项:** 1. **版本兼容性**:尽管AngularJS 1.2.x是一个稳定的版本,但随着...

    基于angular.js的WUI-DatePicker日期选择器插件

    WUI-DatePicker不仅支持现代浏览器,还努力兼容旧版IE浏览器,以确保广泛的应用场景。同时,通过与其他Angular.js组件和服务结合,可以实现更复杂的日期处理逻辑,如日期范围选择、日期验证等。 总结,Angular.js的...

    前端项目-angular-file-saver.zip

    `angular-file-saver`的出现,极大地简化了前端开发中的文件保存问题,让开发者无需关心浏览器兼容性,只需专注于业务逻辑。同时,它也提升了用户体验,使得文件下载不再局限于特定的浏览器或环境。总的来说,`...

    JS日期选择器(使用测试:兼容IE,Firefox,Opera等浏览器)

    由于JavaScript的跨平台特性,这样的日期选择器应该能够兼容不同的浏览器,包括Internet Explorer(IE)、Firefox、Opera等主流浏览器。 本资源包含一个JavaScript日期选择器实现,该实现考虑了浏览器兼容性问题,...

Global site tag (gtag.js) - Google Analytics