您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add some useful features to some websites.
当前为
- // ==UserScript==
- // @name WebHelper
- // @name:vi WebHelper
- // @namespace https://lelinhtinh.github.io
- // @description Add some useful features to some websites.
- // @description:vi Bổ sung một số tính năng hữu ích cho một vài trang web.
- // @version 1.1.1
- // @icon https://i.imgur.com/FHgT0E4.png
- // @author Zzbaivong
- // @oujs:author baivong
- // @license MIT; https://baivong.mit-license.org/license.txt
- // @match https://tienhieptruyen.net/*
- // @require https://unpkg.com/hotkeys-js/dist/hotkeys.min.js
- // @noframes
- // @supportURL https://github.com/lelinhtinh/Userscript/issues
- // @run-at document-idle
- // @grant none
- // @inject-into content
- // ==/UserScript==
- /* global hotkeys */
- const k = hotkeys.noConflict();
- const chapter = document.querySelector('.chapter-c');
- chapter.scrollIntoView();
- document.querySelector('.chap-content').style.userSelect = 'auto';
- chapter.querySelectorAll('[style]').forEach((e) => {
- e.remove();
- });
- document.addEventListener(
- 'contextmenu',
- function (event) {
- event.stopPropagation();
- },
- true,
- );
- let lineHeight = parseFloat(getComputedStyle(chapter).lineHeight);
- document.querySelector('.chap-list-update .font-size').addEventListener('change', () => {
- setTimeout(() => {
- lineHeight = parseFloat(getComputedStyle(chapter).lineHeight);
- }, 100);
- });
- let endChapter = false;
- k('left', () => {
- document.querySelector('.chap-header .btn-next .fa-angle-double-left').parentNode.click();
- });
- k('right', () => {
- document.querySelector('.chap-header .btn-next .fa-angle-double-right').parentNode.click();
- });
- k('up', () => {
- document.documentElement.scrollTop -= window.innerHeight - lineHeight * 2;
- });
- k('down', () => {
- if (endChapter) {
- k.trigger('right');
- return;
- }
- document.documentElement.scrollTop += window.innerHeight - lineHeight * 2;
- const chapterRect = chapter.getBoundingClientRect();
- if (
- chapterRect.top + chapterRect.height - window.innerHeight + lineHeight * 2 < 0 ||
- document.documentElement.scrollTop + window.innerHeight === document.documentElement.scrollHeight
- ) {
- endChapter = true;
- }
- });