@@ -176,34 +176,28 @@ height: 100%;
176176 count1 = 0 ,
177177 flag = 0 ;
178178
179- let itemsList1 = document . querySelectorAll (
179+ let relatedSubjects = document . querySelectorAll (
180180 "#columnSubjectHomeB ul.browserCoverMedium li:not(:has(a.thumbTipSmall))"
181181 ) ;
182- let itemsList2 = document . querySelectorAll (
182+ let recommendedSubjects = document . querySelectorAll (
183183 "#columnSubjectHomeB ul.coversSmall li"
184184 ) ;
185- let itemsList3 = document . querySelectorAll (
185+ let volumeSubjects = document . querySelectorAll (
186186 "#columnSubjectHomeB ul.browserCoverMedium li:has(a.thumbTipSmall)"
187187 ) ;
188188
189- let itemsList = [ ] ;
190- for ( let i = 0 ; i < itemsList1 . length ; i ++ ) itemsList . push ( itemsList1 [ i ] ) ;
191- for ( let i = 0 ; i < itemsList2 . length ; i ++ ) itemsList . push ( itemsList2 [ i ] ) ;
189+ let itemsList = [ ...relatedSubjects , ...recommendedSubjects ] ;
192190
193- if ( localStorage . getItem ( "bangumi_subject_collectStatus" ) ) {
194- collectStatus = JSON . parse (
195- localStorage . getItem ( "bangumi_subject_collectStatus" )
196- ) ;
197- } else {
198- collectStatus = { } ;
199- }
191+ collectStatus = JSON . parse (
192+ localStorage . getItem ( "bangumi_subject_collectStatus" ) || "{}"
193+ ) ;
200194
201195 let badgeUserPanel = document . querySelectorAll ( "#badgeUserPanel a" ) ;
202- badgeUserPanel . forEach ( ( elem ) => {
196+ for ( const elem of badgeUserPanel ) {
203197 if ( elem . href . match ( / l o g o u t / ) ) {
204198 securitycode = elem . href . split ( "/logout/" ) [ 1 ] . toString ( ) ;
205199 }
206- } ) ;
200+ }
207201
208202 // 更新排名数据
209203 let isUpdating = false ;
@@ -218,7 +212,7 @@ height: 100%;
218212 updateInfo ( ) ;
219213 } ) ;
220214
221- if ( itemsList3 . length ) {
215+ if ( volumeSubjects . length ) {
222216 document
223217 . querySelectorAll ( "#columnSubjectHomeB .subject_section .clearit" ) [ 1 ]
224218 . append ( updateBtn ) ;
@@ -243,7 +237,7 @@ height: 100%;
243237 getInfo ( update ) ;
244238 }
245239
246- if ( itemsList3 . length ) {
240+ if ( volumeSubjects . length ) {
247241 let mangaControlPanel = document . createElement ( "div" ) ;
248242 mangaControlPanel . className = "manga-control-panel" ;
249243
@@ -270,12 +264,12 @@ height: 100%;
270264 return ;
271265 }
272266
273- let i = 0 ;
267+ let volumeIndex = 0 ;
274268 flag = flag == 1 ? 0 : 1 ;
275269 allCollect . textContent = flag == 1 ? "全部取消已读" : "全部标为已读" ;
276270
277- let getitemsList3 = setInterval ( function ( ) {
278- let elem = itemsList3 [ i ] ;
271+ let getVolumeSubjects = setInterval ( function ( ) {
272+ let elem = volumeSubjects [ volumeIndex ] ;
279273 let { href } = elem . querySelector ( "a.avatar" ) ;
280274 let ID = href . split ( "/subject/" ) [ 1 ] ;
281275 let avatarNeue = elem . querySelector ( "span.avatarNeue" ) ;
@@ -301,13 +295,13 @@ height: 100%;
301295 } ) ;
302296 }
303297
304- i ++ ;
298+ volumeIndex ++ ;
305299 localStorage . setItem (
306300 "bangumi_subject_collectStatus" ,
307301 JSON . stringify ( collectStatus )
308302 ) ;
309- if ( i >= itemsList3 . length ) {
310- clearInterval ( getitemsList3 ) ;
303+ if ( volumeIndex >= volumeSubjects . length ) {
304+ clearInterval ( getVolumeSubjects ) ;
311305 }
312306 } , 300 ) ;
313307 } ;
@@ -373,7 +367,7 @@ height: 100%;
373367 if ( itemsList . length ) {
374368 let fetchList = [ ] ,
375369 fetchList1 = [ ] ;
376- itemsList . forEach ( ( elem ) => {
370+ for ( const elem of itemsList ) {
377371 let { href } = elem . querySelector ( "a.avatar" ) ;
378372 let href1 = href . replace ( / s u b j e c t / , "update" ) ;
379373 let ID = href . split ( "/subject/" ) [ 1 ] ;
@@ -392,49 +386,51 @@ height: 100%;
392386 } else {
393387 fetchList1 . push ( elem ) ;
394388 }
395- } ) ;
396- let i = 0 ,
397- j = 0 ;
389+ }
390+
391+ let rankFetchIndex = 0 ,
392+ collectFetchIndex = 0 ;
398393 let getitemsList = setInterval ( function ( ) {
399- let elem = fetchList [ i ] ;
394+ let elem = fetchList [ rankFetchIndex ] ;
400395 if ( ! elem ) {
401- // console.log(i );
396+ // console.log(rankFetchIndex );
402397 } else {
403398 let { href } = elem . querySelector ( "a.avatar" ) ;
404399 showRank ( href , elem ) ;
405- i ++ ;
406- //console.log(i );
400+ rankFetchIndex ++ ;
401+ //console.log(rankFetchIndex );
407402 }
408403 if ( count >= itemsList . length ) {
409404 clearInterval ( getitemsList ) ;
410405 }
411406 } , 500 ) ;
412407 let getitemsList1 = setInterval ( function ( ) {
413- let elem = fetchList1 [ j ] ;
408+ let elem = fetchList1 [ collectFetchIndex ] ;
414409 if ( ! elem ) {
415- // console.log(j );
410+ // console.log(collectFetchIndex );
416411 } else {
417412 let { href } = elem . querySelector ( "a.avatar" ) ;
418413 let href1 = href . replace ( / s u b j e c t / , "update" ) ;
419414 showCollect ( href1 , elem ) ;
420- j ++ ;
421- //console.log(j );
415+ collectFetchIndex ++ ;
416+ //console.log(collectFetchIndex );
422417 }
423418 if ( count1 >= itemsList . length ) {
424419 clearInterval ( getitemsList1 ) ;
425420 }
426421 } , 500 ) ;
427422 }
428- if ( itemsList3 . length ) {
429- itemsList3 . forEach ( ( elem ) => {
423+
424+ if ( volumeSubjects . length ) {
425+ for ( const elem of volumeSubjects ) {
430426 let { href } = elem . querySelector ( "a" ) ;
431427 let ID = href . split ( "/subject/" ) [ 1 ] ;
432428 if ( collectStatus [ ID ] ) {
433429 displayCollect ( collectStatus [ ID ] , elem ) ;
434430 } else if ( collectStatus [ ID ] != "collect" ) {
435431 showCheckIn ( elem , ID ) ;
436432 }
437- } ) ;
433+ }
438434 }
439435
440436 let thisItem = window . location . href . replace ( / s u b j e c t / , "update" ) ;
0 commit comments