我很遗憾地需要一个使用图表标记的传单-dvf应用程序,它也需要在IE 11中运行。它在Chrome和Firefox中运行良好。此处的标记示例在IE 11中也不会呈现:
http://humangeo.github.io/leaflet-dvf/examples/html/markers.html
有解决方法吗?我尝试将meta X-UA-Compatible IE = edge添加到我的应用程序中,但这似乎没有帮助。
答案 0 :(得分:1)
它在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元素上的子属性,而是应该尝试使用childNodes属性。
var children = gradient.childNodes;
var childLength = children.length;
我现在无法测试它,但它可能会成功,或者你可能会绕过这些步骤并找到IE的进一步问题。请注意childNodes
与children
不同,因为它返回元素的所有节点,而不仅仅是元素的元素,因此长度会有所不同。
请参阅here。
如果您不想通过逐步调试代码来使其在IE上工作(即使我认为这只是一点点努力),请使用像{{3}这样的DOM Shim它将摆脱你面临的问题。
答案 1 :(得分:1)
此处的项目作者之一。
这个问题应该在1.0dev branch中修复(与Leaflet 1.0兼容),但我会在master分支中进行相同的修复并推送它。感谢您指出了这一点!