基于Skyline的web开发(6.x)

Posted zjffun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Skyline的web开发(6.x)相关的知识,希望对你有一定的参考价值。

多窗口对比

一个页面加载多个TerraExplorer3DWindow和SGWorld等只有第一个能用(即使用iframe也是一样)

所以我决定打开两个新页面实现多窗口对比,然后我在《主页面》使用window.open打开了两个《新页面》,但这两个新页面使用SGWorld时居然在主页面(使用window.open的页面)产生了效果,感觉和以前的一个页面加载多个TerraExplorer3DWindow 和 SGWorld效果一样了!!!

然后经过测试发现关闭主页面新页面就正常加载三维地图了。可以看出使用window.open时主页面和新页面是有关联的,我一开始试了很多方法都断不开这个关联,最后决定打开新页面时多打开一个主页面,然后关掉主页面这种笨方法。

当使用window.close当前关闭窗口,居然没有关上,我一搜发现了关闭前有这一行代码window.opener=null

opener 属性是一个可读可写的属性,可返回对创建该窗口的 Window 对象的引用。
opener 属性非常有用,创建的窗口可以引用创建它的窗口所定义的属性和函数。

断开主页面和新页面关联的方法找到了!!!

总结:
使用window.open打开两个窗口,然后设置window.opener为null,这样就可以在不同窗口中打开三维场景了。



以上是关于基于Skyline的web开发(6.x)的主要内容,如果未能解决你的问题,请参考以下文章

Skyline(6.x)-Web二次开发-1多窗口对比

Skyline(6.x)-二次开发手册使用技巧

Skyline WEB端开发 ——添加事件

Skyline WEB端开发4——添加事件

Skyline WEB端开发1——入门

基于wpf的skyline三维二次开发框架