系统上线后,测试skyline与web solution的使用问题,在二三维切换以及三维中自动切回二维方案时,出现了skyline报错,“MPT not loaded"问题。原以为是skyline的js中写了些神奇的代码,一查skyline programer gruid 是js 调用skyline的接口报错后的返回值。持续查找此问题,定位到js的页面隐藏代码(document.getElementById("3dmap").style.display = "none"),会卸载skyline(Unloading skyline)。
.style.display使用说明:
1、CSS的display 属性,规定元素应该生成的框的类型。
2、.style.dsplay = "none",此元素不会被显示。
3、none : CSS1 隐藏对象。与 visibility 属性的hidden值不同,其不为被隐藏的对象保留其物理空间。
具体内容可参照:CSS display属性 HTML DOM参考 CSS1属性参考
基于以上说明,也在单机上测试了document.getElementById("3dmap").style.display = "none"确实会将skyline的控件卸载,Web工程中慎重使用此属性。