在拥有Cesium地图的iframe中调用方法

时间:2016-03-18 21:31:22

标签: javascript cesium

我通常可以使用这种方法调用iframe的html内部的方法:

document.getElementById("frame_id").contentWindow.method_in_frame();

我也可以使用父方法调用iframe之外的方法:

onclick="parent.method_outside_frame(); 

但是如果我的iframe持有Cesium地图的一个实例,那么这不起作用。铯是否有阻止这种情况发生的事情?有没有办法覆盖它?

1 个答案:

答案 0 :(得分:1)

找到答案。您需要使用以下行更改Cesium上的默认安全性:

viewer.infoBox.frame.sandbox = "allow-same-origin allow-top-navigation allow-pointer-lock allow-popups allow-forms allow-scripts";

然后,如果您在Cesium弹出窗口中创建任何方法,则需要添加父调用,该调用允许按钮引用回容器级别:

onclick="parent.method_outside_frame();"

此处有更多详情:https://groups.google.com/forum/#!topic/cesium-dev/Ba_88VXBMvI