From eeda07f4e8f5313bcea1bab97349a575966ed12b Mon Sep 17 00:00:00 2001 From: hymbz Date: Sun, 17 Dec 2023 00:28:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20:bug:=20=E4=BF=AE=E5=A4=8D=E9=83=A8?= =?UTF-8?q?=E5=88=86=E6=83=85=E5=86=B5=E4=B8=8B=E4=BC=9A=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E8=87=B3=E5=8D=95=E9=A1=B5=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E7=9A=84=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- docs/README-out.md | 2 +- src/components/Manga/actions/imageSize.ts | 14 ++++++++------ src/components/Manga/hooks/useInit.ts | 6 +++--- src/components/Manga/store/other.ts | 4 ++-- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 5efe8277..0635acef 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ 这是一个因为目前大部分漫画站都不支持双页显示,所以每次遇到 **漫画中的跨页大图被分割成两页** 就很不爽的人为了有更好的漫画阅读体验而写的油猴脚本,为主流漫画站增加了**双页阅读模式**和各种优化体验的增强功能。 -脚本会在网页右下角弹出用于 **进入阅读模式** 的悬浮按钮,其上的快捷按钮用于切换站点增强功能的开启与否,默认会开启**自动进入阅读模式**的功能,也可在这里关闭。脚本没有全局设置,所有修改都只会在当前站点生效保存。~~反正平时也就只上那几个站点~~ +脚本会在网页右下角弹出用于 **进入阅读模式** 的悬浮按钮,其上的快捷按钮用于切换站点增强功能的开启与否。默认会开启**自动进入阅读模式**的功能,也可在这里关闭。脚本没有全局设置,所有修改都只会在当前站点生效保存。~~反正平时也就只上那几个站点~~ 对于支持站点以外的网站,脚本也提供了「[简易阅读模式](#简易阅读模式)」,除了得手动跳转上/下一话外,和支持站点的使用体验没有区别。 diff --git a/docs/README-out.md b/docs/README-out.md index 69db76cd..6668880a 100644 --- a/docs/README-out.md +++ b/docs/README-out.md @@ -12,7 +12,7 @@ 这是一个因为目前大部分漫画站都不支持双页显示,所以每次遇到 **漫画中的跨页大图被分割成两页** 就很不爽的人为了有更好的漫画阅读体验而写的油猴脚本,为主流漫画站增加了**双页阅读模式**和各种优化体验的增强功能。 -脚本会在网页右下角弹出用于 **进入阅读模式** 的悬浮按钮,其上的快捷按钮用于切换站点增强功能的开启与否,默认会开启**自动进入阅读模式**的功能,也可在这里关闭。脚本没有全局设置,所有修改都只会在当前站点生效保存。~~反正平时也就只上那几个站点~~ +脚本会在网页右下角弹出用于 **进入阅读模式** 的悬浮按钮,其上的快捷按钮用于切换站点增强功能的开启与否。默认会开启**自动进入阅读模式**的功能,也可在这里关闭。脚本没有全局设置,所有修改都只会在当前站点生效保存。~~反正平时也就只上那几个站点~~ 对于支持站点以外的网站,脚本也提供了「[简易阅读模式](#简易阅读模式)」,除了得手动跳转上/下一话外,和支持站点的使用体验没有区别。 diff --git a/src/components/Manga/actions/imageSize.ts b/src/components/Manga/actions/imageSize.ts index 1ce37d13..053312a2 100644 --- a/src/components/Manga/actions/imageSize.ts +++ b/src/components/Manga/actions/imageSize.ts @@ -51,13 +51,15 @@ export const updateImgSize = (i: number, width: number, height: number) => { let isEdited = updateImgType(state, img); switch (img.type) { - // 连续出现多张跨页图后,自动开启单页模式 + // 连续出现多张跨页图后,将剩余未加载图片类型设为跨页图 case 'long': case 'wide': { - if (!state.flag.autoOnePageMode || !checkImgTypeCount(state, isWideImg)) - break; - state.option.onePageMode = true; - state.flag.autoOnePageMode = false; + if (!state.flag.autoWide || !checkImgTypeCount(state, isWideImg)) break; + state.imgList.forEach((comicImg, index) => { + if (comicImg.loadType === 'wait' && comicImg.type === '') + state.imgList[index].type = 'wide'; + }); + state.flag.autoWide = true; isEdited = true; break; } @@ -66,7 +68,7 @@ export const updateImgSize = (i: number, width: number, height: number) => { case 'vertical': { if ( !state.flag.autoScrollMode || - !checkImgTypeCount(state, (image) => image.type === 'vertical') + !checkImgTypeCount(state, ({ type }) => type === 'vertical') ) break; state.option.scrollMode = true; diff --git a/src/components/Manga/hooks/useInit.ts b/src/components/Manga/hooks/useInit.ts index 35676e46..0f2a929e 100644 --- a/src/components/Manga/hooks/useInit.ts +++ b/src/components/Manga/hooks/useInit.ts @@ -4,7 +4,7 @@ import { createEffect, onCleanup } from 'solid-js'; import { assign, isEqualArray } from 'helper'; import type { MangaProps } from '..'; -import { refs, setState } from '../store'; +import { refs, setState, store } from '../store'; import { defaultHotkeys, focus, @@ -16,7 +16,7 @@ import { autoCloseFill } from '../handleComicData'; import { playAnimation } from '../helper'; const createComicImg = (url: string): ComicImg => ({ - type: '', + type: store.flag.autoWide ? 'wide' : '', src: url || '', loadType: 'wait', }); @@ -120,7 +120,7 @@ export const useInit = (props: MangaProps) => { // 处理初始化 if (isInit) { state.flag.autoScrollMode = true; - state.flag.autoOnePageMode = true; + state.flag.autoWide = true; autoCloseFill.clear(); if (!state.option.firstPageFill || props.imgList.length <= 3) diff --git a/src/components/Manga/store/other.ts b/src/components/Manga/store/other.ts index a8e0522b..99701a34 100644 --- a/src/components/Manga/store/other.ts +++ b/src/components/Manga/store/other.ts @@ -19,8 +19,8 @@ export const OtherState = { flag: { /** 是否需要自动判断开启卷轴模式 */ autoScrollMode: true, - /** 是否需要自动判断开启单页模式 */ - autoOnePageMode: true, + /** 是否需要自动将未加载图片类型设为跨页图 */ + autoWide: true, /** * 用于防止滚轮连续滚动导致过快触发事件的锁