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

分析

在“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为空 否则不会生效。

猜你喜欢

转载自blog.csdn.net/qq_53810245/article/details/132398088
今日推荐