@@ -305,19 +305,6 @@ async function scopeEBStyles(scopeSelector = '[data-eb-styles]') {
305305
306306
307307function initScript ( ) {
308- // 创建加载动画元素
309- function createLoadingOverlay ( ) {
310- const overlay = document . createElement ( 'div' ) ;
311- overlay . className = 'loading-overlay' ;
312- overlay . id = 'loadingOverlay' ;
313-
314- const spinner = document . createElement ( 'div' ) ;
315- spinner . className = 'loading-spinner' ;
316-
317- overlay . appendChild ( spinner ) ;
318- document . body . appendChild ( overlay ) ;
319- }
320-
321308 // 显示加载动画
322309 function showLoading ( ) {
323310 const overlay = document . getElementById ( 'loadingOverlay' ) ;
@@ -333,10 +320,6 @@ function initScript() {
333320 overlay . style . display = 'none' ;
334321 }
335322 }
336-
337- // 初始化加载动画
338- createLoadingOverlay ( ) ;
339- showLoading ( ) ;
340323
341324 // 样式重写,增加区域限定
342325 scopeEBStyles ( ) ;
@@ -827,12 +810,6 @@ function initScript() {
827810
828811 // 加载阅读进度
829812 function loadReadingProgress ( ) {
830- if ( totalPages === 0 ) {
831- setTimeout ( ( ) => {
832- loadReadingProgress ( ) ;
833- } , 100 ) ;
834- return
835- }
836813 if ( isKindleMode ( ) ) {
837814 if ( isPaginationMode ) {
838815 showPage ( 0 ) ;
@@ -841,6 +818,14 @@ function initScript() {
841818 }
842819
843820 if ( isPaginationMode ) {
821+ // 翻页模式需要等待 totalPages 计算完成
822+ if ( totalPages === 0 ) {
823+ setTimeout ( ( ) => {
824+ loadReadingProgress ( ) ;
825+ } , 100 ) ;
826+ return
827+ }
828+
844829 // 翻页模式
845830 let storageKey = getStorageKey ( "turning" ) ;
846831 let savedPage = localStorage . getItem ( storageKey ) ;
@@ -857,7 +842,7 @@ function initScript() {
857842 showPage ( 0 ) ;
858843 }
859844 } else {
860- // 滚动模式
845+ // 滚动模式不需要等待 totalPages
861846 let storageKey = getStorageKey ( "scroll" ) ;
862847 let savedPos = localStorage . getItem ( storageKey ) ;
863848 let windowHeight = window . innerHeight ;
@@ -1360,16 +1345,20 @@ function initScript() {
13601345 }
13611346 } ) ;
13621347
1363- // 页面加载完成后隐藏加载动画
1364- window . addEventListener ( 'load' , function ( ) {
1348+ // 自定义 css
1349+ customCssFunc ( ) ;
1350+
1351+ // 根据模式决定何时隐藏加载动画
1352+ if ( isPaginationMode ) {
1353+ // 翻页模式:在 createPages 完成后隐藏 loading
1354+ // createPages 内部已经处理了 hideLoading
1355+ } else {
1356+ // 滚动模式:在 loadReadingProgress 完成后隐藏 loading
13651357 // 延迟隐藏加载动画,确保页面完全渲染
13661358 setTimeout ( function ( ) {
13671359 hideLoading ( ) ;
1368- } , 500 ) ;
1369- } ) ;
1370-
1371- // 自定义 css
1372- customCssFunc ( ) ;
1360+ } , 500 ) ; // 等待 loadReadingProgress 中的 setTimeout 完成
1361+ }
13731362
13741363 function customCssFunc ( ) {
13751364 if ( isKindleMode ( ) ) {
0 commit comments