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" />

 

posted @ 2017-08-04 15:06  依尔根觉罗天赫  阅读(944)  评论(2编辑  收藏  举报