Сценарий информационного ящика CesiumJS не работает

Поэтому я работаю над настройкой карты цезия, отображая маркеры в различных положениях на основе данных JSON, полученных с другого сервера. Одна из вещей, которую я хочу сделать, - создать подобный гармошке элемент div для хранения списка строк, которые можно включать и выключать (чтобы скрыть данные, если они слишком длинные).

Однако Цезий отказывается запускать мой код в описании сущности. Я проверил код с простой функцией:

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";

У меня такой вопрос: я что-то здесь не так делаю? Я знаю, что Цезий загружает HTML-код описания сущности в изолированную рамку iframe, но я должен разрешить запуск сценариев в песочнице. Я также пытался положить test() функция за пределами описания, но я все еще сталкиваюсь с той же ошибкой.

Любая помощь будет высоко оценен.

1 ответ

В настоящее время это не поддерживается. Для этого есть PR: https://github.com/AnalyticalGraphicsInc/cesium/pull/5764

Надеюсь, это будет одобрено в ближайшее время.

Другие вопросы по тегам