瀏覽代碼

fix: 优化cesium加载时序,解决偶发性的跳转初始化报错问题

sequoia tungfang 2 周之前
父節點
當前提交
a839fabcc8
共有 1 個文件被更改,包括 6 次插入2 次删除
  1. 6 2
      src/utils/cesiumPreloader.js

+ 6 - 2
src/utils/cesiumPreloader.js

@@ -3,7 +3,6 @@
  * 在登录页提前创建隐藏的 Cesium Viewer,预渲染瓦片
  * TransitionPage 挂载时直接复用已渲染好的实例
  */
-const Cesium = window.Cesium;
 
 let _viewer = null;
 let _container = null;
@@ -17,7 +16,12 @@ const CesiumPreloader = {
   start() {
     if (_viewer || _container) return; // 已启动
 
-    // 创建隐藏容器
+    // 等 Cesium CDN 加载完再执行
+    const Cesium = window.Cesium;
+    if (!Cesium) {
+      setTimeout(() => this.start(), 500);
+      return;
+    }
     _container = document.createElement('div');
     _container.id = 'cesium-preload-container';
     _container.style.cssText = 'position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;opacity:0;pointer-events:none;';