【问题标题】:Angular app not rendering in ie 11 and giving SecurityError and SyntaxErrorAngular 应用程序未在 ie 11 中呈现并给出 SecurityError 和 SyntaxError
【发布时间】:2019-06-07 12:02:35
【问题描述】:

我使用 Angular 开发了应用程序。它在 chrome 和 Firefox 中完美呈现。但是,当我在 ie-11 中运行它时,我遇到了很多问题。

我通过在 polyfills.ts 中添加 polyfill 解决了很多问题。我仍然面临其他一些问题。请看下面的截图。

IE error screenshot

这是我的 polyfill,

/** 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';

// import 'whatwg-fetch';

/** 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
 */

请帮我解决这个问题。 谢谢...

【问题讨论】:

  • 你运行npm install --save classlist.jsnpm install --save web-animations-js了吗?
  • 请尝试添加这个polyfills import 'core-js/es7/object';导入'core-js/es7/array';在 polyfills.ts 文件中可能有助于解决问题。参考:github.com/angular/zone.js/issues/1001
  • 尝试运行npm install --save babel-polyfill并在polyfills.ts文件中添加import 'babel-polyfill';
  • 安装后,npm install --save babel-polyfill,我导入了那个,然后我得到“找不到模块'neo-async'错误:找不到模块'neo-async'”错误.
  • 您是否在全局安装异步?试试npm install neo-async

标签: angular internet-explorer-11


【解决方案1】:

将以下内容添加到 polyfills.ts

import 'core-js/es7/object';
import 'core-js/es7/array';

【讨论】:

    【解决方案2】:

    对于这个问题,请确保您已在 polyfills.ts 中启用所有必需的导入,并且此文件已连接到 angular.json

    并将以下内容添加到文件中:

    import 'core-js/es7/object';
    import 'core-js/es7/array';
    

    【讨论】:

      【解决方案3】:

      这是IE浏览器问题,您可以点击此链接修复它https://github.com/angular/zone.js/issues/1001 对于 core-js/es7/array 你需要使用 "core-js": "~2.5.0"

      【讨论】:

        猜你喜欢
        • 2015-03-08
        • 2018-05-01
        • 2020-06-05
        • 2020-10-13
        • 2020-03-02
        • 2014-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多