Internet Explorer中的传单.js性能较差

Poor Leaflet.js Performance in Internet Explorer

本文关键字:js 性能 Explorer Internet      更新时间:2023-09-26

我正在尝试使用mapbox和leaflet.js.构建一个基于地图的web应用程序

我正在从一个geoJSON文件将大约300个标记加载到featureLayer中。这似乎在除internet explorer外的所有浏览器中都能很好地工作,每次使用featureLayer.setFilter加载或过滤标记时,它都会冻结10秒左右。我在这里上传了一个演示。

锁定IE性能分析,罪魁祸首似乎是"addDoubleTapListener"。这似乎是一个已知的问题(https://github.com/Leaflet/Leaflet/issues/4357),解决方案建议回滚到传单0.7.5,或使用0.7.7.1分支(该分支具有恢复触摸检测的修复程序)。我两种都试过了,但似乎都没有对这个问题产生任何影响。也建议升级到传单1.0.0-beta,但这似乎与当前的mapbox不兼容。。。

如果能为解决这一问题提供任何帮助,我们将不胜感激。

好的,我找到的解决方案是从leaflet-src.js 0.7.7.1:中删除以下行

if (L.Browser.touch && (type === 'dblclick') && this.addDoubleTapListener) {
    this.addDoubleTapListener(obj, handler, id);
}

IE现在以闪电般的速度加载标记,所有功能似乎仍在我尝试的所有设备中运行。这不是一个理想的解决方案,但在Mapbox支持传单1.0.0之前,它将作为一个权宜之计。