javascript - CesiumJS 信息框脚本未运行

标签 javascript html iframe cesiumjs czml

因此,我正在根据从另一台服务器获取的 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/

相关文章:

javascript - 当滚动点超过 div 顶部时功能不启动

javascript - 用 HTML/CSS 或 Javascript 制作井字棋盘

javascript - $POST 方法多次触发

javascript - 使用 Open Layers 集群指定最小集群大小

javascript - 在 wordpress 中执行 javascript

html - 显示文本 html/css 的悬停按钮

php - 如何根据条件在 php while 循环中填充两个不同的 html 表?

jquery - 从 iframe 元素访问 jQuery 数据

html - 将 html 网页嵌入另一个网页并使用父滚动条滚动它

javascript - 有什么方法可以让 postMessage 与 HTTPS 一起使用吗?