Cesium 报错:VM226:1 Blocked script execution in ‘about:blank‘ because the document‘s frame is...

文章目录

    • 问题
    • 分析
    • 解决

问题

在 Vue 项目中引入 Cesium 时,控制台出现如下报错

VM226:1 Blocked script execution in ‘about:blank’ because the
document’s frame is sandboxed and the ‘allow-scripts’ permission is
not set.

Cesium 报错:VM226:1 Blocked script execution in ‘about:blank‘ because the document‘s frame is..._第1张图片

分析

在“about:blank”中阻止脚本执行,因为文档的框架已被沙盒化并且未设置“allow-scripts”权限。这个错误提示是Cesium不识别js,沙箱iframe不允许使用js。

解决

  1. 第一种:禁用infobox。
const viewer = new Viewer('cesiumContainer', {
  infoBox: false, // If set to false, the InfoBox widget will not be created.
});
  1. 第二种:设置沙箱的权限。
var iframe = document.getElementsByClassName(‘cesium-infoBox-iframe’)[0];
iframe.setAttribute(‘sandbox’, ‘allow-same-origin allow-scripts allow-popups allow-forms’);
iframe.setAttribute(‘src’, ‘’); //必须设置src为空 否则不会生效。

你可能感兴趣的:(Cesium,开发,javascript,vue.js,前端)