javascript - leaflet-dvf 标记不会在 IE11 中呈现

标签 javascript leaflet markers

不幸的是,我需要一个使用图表标记的 leaflet-dvf 应用程序,该应用程序也需要在 IE 11 中工作。它在 Chrome 和 Firefox 中工作正常。此处的标记示例也不会在 IE 11 中呈现:

http://humangeo.github.io/leaflet-dvf/examples/html/markers.html

有解决办法吗?我尝试将元 X-UA-Compatible IE=edge 添加到我的应用程序中,但这似乎没有帮助。

最佳答案

它在 IE 中不起作用的事实是因为自定义 SVG 标记是一个实验性功能(它是用源代码编写的),并且错误来自

var children = gradient.children;
var childLength = children.length; // Cannot read property length of undefined, line 2739 of the file

所以目前唯一的解决办法就是自己修改源代码。 梯度只是一个 gradient SVG 元素。

我猜这是因为 IE 不支持 DOM 元素上的 Children 属性,但您应该尝试使用 childNodes 属性。

var children = gradient.childNodes;
var childLength = children.length;

我现在无法测试它,但它可能会起作用,或者您可能会绕过这些步骤并发现 IE 的进一步问题。请注意,childNodeschildren 不同,因为它返回元素的所有节点,而不仅仅是其元素,因此长度会有所不同。

参见here .

如果您不想通过一步一步调试代码来使其在 IE 上运行(即使我认为这只是一点点努力),请使用像 this 这样的 DOM Shim它会解决您面临的问题。

关于javascript - leaflet-dvf 标记不会在 IE11 中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34314671/

相关文章:

javascript - leafletjs 的 map 布局

r - 如何使用 R 在传单上绘制多边形?

javascript - 如何在传单上放置带有 geojson 的数字标记

Swift GoogleMaps fitBounds Zoom

javascript - 变量不会设置

javascript - 'explode' 效果是否有爆炸 block 数量的最大值?

javascript - 如何使 Leaflet 删除或停止处理其 bbox 之外的标记?

javascript - 如何将参数传递给将 div 从页面模型填充到其 Razor 页面的 javascript 函数?

javascript - 淡入/淡出 div 滚动顶部

javascript - 绘图库 : Dynamically drawing different markers in Google maps api 3