시간 7초로 추가, 스크롤 속도 0.5로 변경

This commit is contained in:
user01
2026-06-14 02:19:16 +09:00
parent 00beabd7cc
commit 36d41457f5

View File

@@ -74,6 +74,7 @@
const QUEUE_KEY = 'sbxh6_q'; const QUEUE_KEY = 'sbxh6_q';
const IDX_KEY = 'sbxh6_i'; const IDX_KEY = 'sbxh6_i';
const SERIES_KEY = 'sbxh6_s'; const SERIES_KEY = 'sbxh6_s';
const LIST_KEY = 'sbxh6_list';
const getQueue = () => { const getQueue = () => {
try { return JSON.parse(sessionStorage.getItem(QUEUE_KEY) || 'null'); } catch (_) { return null; } try { return JSON.parse(sessionStorage.getItem(QUEUE_KEY) || 'null'); } catch (_) { return null; }
@@ -85,6 +86,7 @@
sessionStorage.removeItem(QUEUE_KEY); sessionStorage.removeItem(QUEUE_KEY);
sessionStorage.removeItem(IDX_KEY); sessionStorage.removeItem(IDX_KEY);
sessionStorage.removeItem(SERIES_KEY); sessionStorage.removeItem(SERIES_KEY);
sessionStorage.removeItem(LIST_KEY);
}; };
function generateComicInfo(title, series, writer, number, pageCount, imageCount = 0) { function generateComicInfo(title, series, writer, number, pageCount, imageCount = 0) {
@@ -210,14 +212,14 @@ ${pagesXml ? ` <Pages>\n${pagesXml} </Pages>\n` : ''}
stuckCount = 0; stuckCount = 0;
} }
prevHeight = maxScroll; prevHeight = maxScroll;
// 현재 위치에서 끝까지 step 단위로 스크롤 // 현재 위치에서 끝까지 step 단위로 스크롤 (느리게)
const step = Math.min(500, maxScroll); const step = Math.min(300, maxScroll);
for (let s = window.scrollY; s <= maxScroll; s += step) { for (let s = window.scrollY; s <= maxScroll; s += step) {
window.scrollTo(0, Math.min(s, maxScroll)); window.scrollTo(0, Math.min(s, maxScroll));
await sleep(80); await sleep(300);
} }
window.scrollTo(0, maxScroll); window.scrollTo(0, maxScroll);
await sleep(1000); await sleep(1500);
} }
// 끝까지 다 내려간 상태에서 여유 대기 // 끝까지 다 내려간 상태에서 여유 대기
await sleep(2000); await sleep(2000);
@@ -333,6 +335,7 @@ ${pagesXml ? ` <Pages>\n${pagesXml} </Pages>\n` : ''}
sessionStorage.setItem(QUEUE_KEY, JSON.stringify(episodes)); sessionStorage.setItem(QUEUE_KEY, JSON.stringify(episodes));
sessionStorage.setItem(SERIES_KEY, seriesName); sessionStorage.setItem(SERIES_KEY, seriesName);
sessionStorage.setItem(IDX_KEY, '0'); sessionStorage.setItem(IDX_KEY, '0');
sessionStorage.setItem(LIST_KEY, window.location.href);
window.location.href = episodes[0].url; window.location.href = episodes[0].url;
} }
@@ -347,7 +350,7 @@ ${pagesXml ? ` <Pages>\n${pagesXml} </Pages>\n` : ''}
if (idx >= queue.length) { cleanupQueue(); return; } if (idx >= queue.length) { cleanupQueue(); return; }
log(`자동 다운로드: ${idx + 1}/${queue.length} - ${queue[idx].title}`); log(`자동 다운로드: ${idx + 1}/${queue.length} - ${queue[idx].title}`);
await sleep(2000); await sleep(7000);
try { try {
const imageUrls = await getImagesWithLazyLoad(); const imageUrls = await getImagesWithLazyLoad();
@@ -370,8 +373,14 @@ ${pagesXml ? ` <Pages>\n${pagesXml} </Pages>\n` : ''}
await sleep(2000); await sleep(2000);
window.location.href = queue[next].url; window.location.href = queue[next].url;
} else { } else {
const listUrl = sessionStorage.getItem(LIST_KEY);
cleanupQueue(); cleanupQueue();
log('모든 에피소드 다운로드 완료!'); log('모든 에피소드 다운로드 완료!');
if (listUrl) {
log('목록 페이지로 복귀합니다...');
await sleep(2000);
window.location.href = listUrl;
}
} }
}; };