无法使用 IE 11 和 Angular 4 在 ArcgisMap 上拖动

Posted

技术标签:

【中文标题】无法使用 IE 11 和 Angular 4 在 ArcgisMap 上拖动【英文标题】:Can't drag on ArcgisMap with IE 11 and Angular 4 【发布时间】:2018-06-03 05:08:51 【问题描述】:

我有这个带有 Angular 4 和 arcgis 地图的简单代码笔,但我无法在 IE 11 中拖动。其他浏览器照常工作。我无法升级或降级 arcgis 的 JS 库,因为它依赖于我们正在使用的其他小部件。

https://codepen.io/rbuenon/pen/NXNOww

<link rel="stylesheet" href="https://js.arcgis.com/3.23/esri/css/esri.css">
<script src="https://js.arcgis.com/3.23/"></script>
<script>
require(["esri/map", "dojo/domReady!"], function (Map) 
  window.map = new Map("map", 
    center: [-118, 34.5],
    zoom: 8,
    basemap: "topo"
  );
);
</script>
<div id="map"></div>    
<app-root></app-root>

更新:

polyfill.ts

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';
import 'core-js/es6/reflect';
import 'core-js/es7/reflect';
import 'zone.js/dist/zone'; 
import 'classlist.js';  
import 'web-animations-js';
import 'intl';
import 'intl/locale-data/jsonp/en';

有谁知道我该如何解决这个问题?

【问题讨论】:

你是否包含了所需的 polyfill? Codepen 收录了这个s3-us-west-2.amazonaws.com/s.cdpn.io/123941/polyfills.bundle.js 如果你使用 Angular CLI,有一个名为 polyfills.ts 的文件。 ie11 需要相当多的 polyfill 才能与 Angular 一起使用。 @Z.Bagley 我用 polyfill.ts 上的所有导入更新了我的问题 我会尝试动画 polyfill 【参考方案1】:

IE11 使用触摸事件,arcgis 无法捕获。使用此 polyfill 使其工作: https://github.com/WebReflection/ie-touch/blob/master/ie-touch.js

除了您在 Angular 应用程序中使用它之外,Angular 与您的问题并不真正相关。

【讨论】:

以上是关于无法使用 IE 11 和 Angular 4 在 ArcgisMap 上拖动的主要内容,如果未能解决你的问题,请参考以下文章

IE11 上的 Webpack + Angular(4) + ES6 不起作用

Angular 2 / 4 / 5 在 IE11 中不起作用

使用 angular4 的拖放事件在 IE11 中不起作用

角度:“使用严格” IE11

Internet Explorer 9 无法解析 Angular UI-Router

防止 IE11 在 Angular 2 中缓存 GET 调用