我通常可以使用这种方法调用iframe的html内部的方法:
document.getElementById("frame_id").contentWindow.method_in_frame();
我也可以使用父方法调用iframe之外的方法:
onclick="parent.method_outside_frame();
但是如果我的iframe持有Cesium地图的一个实例,那么这不起作用。铯是否有阻止这种情况发生的事情?有没有办法覆盖它?
答案 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