SkylineGlobe for web开发是否支持IE11?
之前有客户反馈,说在IE11里浏览skyline开发的系统页面,会提示错误,怀疑是不是skyline不支持IE11了,其实不是。
主要是因为IE11更加遵循W3C规范,所以IE11与低版本IE在加载activeX时有差别,大家在动态创建SGWorld对象的时候,一定要注意喽!
感觉我给大家挖了一个坑,“对不起了!”坑里的兄弟自己爬上来吧!
把原来的示例代码
// SGWorld70 function CSGWorld() { try { var obj = window.document.getElementById("SGWorld"); if (obj == null) { //obj = TerraExplorer3DWindow.CreateInstance("{3a4f919a-65a8-11d5-85c1-0001023952c1}"); obj = document.createElement('object'); document.body.appendChild(obj); obj.name = "SGWorld"; obj.id = "SGWorld"; obj.classid = "CLSID:3A4F9199-65A8-11D5-85C1-0001023952C1"; } return obj; } catch (e) { alert(e); } }
改成如下代码即可解决这个问题。
// SGWorld70 function CSGWorld() { try { var obj = document.getElementById("SGWorld"); if (obj == null) { obj = document.createElement('object'); obj.setAttribute("name", "SGWorld"); obj.setAttribute("id", "SGWorld"); obj.style.height ="1px"; obj.style.width = "1px"; obj.setAttribute("classid", "CLSID:3A4F919A-65A8-11D5-85C1-0001023952C1"); document.body.appendChild(obj); } return obj; } catch (e) { alert(e); } }
或者代码里设置IE的兼容模式,也是可以的。
<meta http-equiv="X-UA-Compatible" content="IE=9" />