漫画下一话

x键下一话,滑轮到底下一话,支持非下拉式转下拉式阅读

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

作者
kakasearch
今日安裝
0
安裝總數
1,006
評價
1 0 0
版本
0.24
建立日期
2020-11-29
更新日期
2021-12-06
尺寸
10.5 KB
授權條款
MIT
腳本執行於

介绍

  • 主要功能:按x键下一话,页面滑倒底自动下一话,将非单页阅读的漫画转为下拉式阅读的漫画,添加方便触及的下一话按钮
  • 特色:包含3种解决方案,可移植用于大部分漫画网站
  • 原理:进入页面后,调用网站规则中的初始化函数,将网页转为下拉式或执行其他操作,监控规则中的监控对象(如底部按钮),当监控对象出现在屏幕上,即认为已滑到漫画末尾,触发规则中的回调函数,加载下一话
  • 目前支持的漫画网站:

使用

  • 按x键,自动下一话
  • 使用鼠标滚轮 滚动到页面底部,自动下一话
  • 点击配置好后的下一话按钮,自动下一话

支持其它网站

  • 你可以自己添加网站规则,下面是自己配置的步骤,以www.kanbl.cc为例
  • 在代码8行增加网站匹配支持
// @match        https://www.kanbl.cc/*
  • 在代码19行处新建一个ruler规则,键名为网站域名
 'www.kanbl.cc':{
           'init':function(){},//初始化函数,进入漫画页面后首先被调用,可以用来将非下拉式转为下拉式阅读,此网站不需要所以此处为空
            'add_button':"",//将某个按钮改为跳转下一话,此网站不需要所以此处为空
            'next_button_or_function':"ruler['www.kanbl.cc']['tmpfunction']()",//定义滑轮滑到底部的行为,即如何跳转下一话,可以是下一话的按钮也可以直接写按钮调用的函数名,还可以自己写函数定义如何跳转下一话,这个网站没有按钮也没有县城的方法跳转,所以自己写一个。
            'url':'',//提取网址中的数字的正则。有的漫画网页是按数字排列的,直接在当前网址后的数字+1就是下一话,可选
            'observer':["div.footpage",function(){return(document.querySelector("#content > div.comiclist").childElementCount>=1)}],//定义如何判定漫画滑到了底部,参数为数组,数组中第一个值为观测对象,当此对象出现在屏幕中时认为滑到了底部,如网站底栏;第二个参数为可以返回bool类型的函数,用于确认是否真的滑到了底部,如本例中会判定是否加载了至少1页漫画,如果不需要确认直接返回true即可
           'min_height':0,//限制屏幕的最小高度,可选。很多网站先加载出底部栏,然后才加载出漫画内容,通过限定最小高度可以避免这种情况。因为上一条规则已经有确认机制,此处填0,不限定高度
            'tmpfunction': function(){//因为这个网站比较复杂,写个函数来操作下一页,函数名随意,在next_button_or_function调用
                let page = document.querySelector("body > div.container > div.footpage > select");
                if(page.childElementCount == Number(page.value)){
                    document.querySelector("body > div.container > div.footpage > a.btn.nextpage").click();
                }else{
                    let url = window.location.origin+window.location.pathname;
                    let nexturl = url+'?page='+(Number(page.value)+1);
                    window.location.href = nexturl;
                }
            }
        },