因此,我正在根据从另一台服务器获取的 JSON 数据,通过在不同位置显示标记来自定义 Cesium map 。我想做的一件事是创建一个类似 Accordion 的 div 元素来保存可以打开和关闭的字符串列表(如果数据太长则隐藏数据)。
但是,Cesium 拒绝在实体描述中运行我的代码。我用一个简单的函数测试了代码:
html += "<small onclick='test();'>[\u2212]</small>";
...
html += "<script>function test() { console.log('bob'); }<\/script>";
jsonData.description = html; // The Cesium CZML JSON entity
但是,运行代码会在控制台中抛出函数未定义
错误,即使我允许脚本通过运行
mapViewer.infoBox.frame.sandbox = "allow-same-origin allow-popups allow-forms allow-scripts allow-top-navigation";
我的问题是:我在这里做错了什么吗?我知道 Cesium 在沙盒 iframe 中加载实体描述 HTML 代码,但我应该允许脚本在沙盒中运行。我还尝试将 test()
函数放在描述之外,但仍然遇到相同的错误。
任何帮助将不胜感激。
最佳答案
目前不支持。有一个 PR 是这样的: https://github.com/AnalyticalGraphicsInc/cesium/pull/5764
希望它能尽快获得批准。
关于javascript - CesiumJS 信息框脚本未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48874910/