1

因此,我正在根据从另一台服务器获取的 JSON 数据,通过在不同位置显示标记来自定义 Cesium 地图。我想做的一件事是创建一个类似手风琴的 div 元素来保存可以打开和关闭的字符串列表(如果数据太长则隐藏数据)。

但是,Cesium 拒绝在实体描述中运行我的代码。我用一个简单的函数测试了代码:

html += "<small onclick='test();'>[\u2212]</small>";
...
html += "<script>function test() { console.log('bob'); }<\/script>";
jsonData.description = html;    // The Cesium CZML JSON entity

但是,运行代码会在控制台中引发function not defined错误,即使我允许脚本通过

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

我的问题是:我在这里做错了什么吗?我知道 Cesium 在沙盒 iframe 中加载实体描述 HTML 代码,但我应该允许脚本在沙盒中运行。我也尝试将test()功能放在描述之外,但我仍然遇到同样的错误。

任何帮助将不胜感激。

4

1 回答 1

0

It is currently not supported. There's a PR for this: https://github.com/AnalyticalGraphicsInc/cesium/pull/5764

Hopefully it would be approved sometime soon.

于 2018-05-06T14:14:51.443 回答