您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Remove ads and added zoom out options
- // ==UserScript==
- // @name Nettruyen Tools
- // @namespace nettruyen
- // @description Remove ads and added zoom out options
- // @version 1.1
- // @include https://*nettruyen*
- // @author kylyte
- // @license MIT
- // @run-at document-start
- // @icon https://www.google.com/s2/favicons?sz=64&domain=nettruyenus.com
- // @grant GM_addStyle
- // @grant GM_registerMenuCommand
- // @grant GM_setValue
- // @grant GM_getValue
- // @noframes
- // ==/UserScript==
- function removeAds() {
- GM_addStyle(`
- .reading-control > .mrb5,
- div.mrb10:nth-of-type(2),
- .hidden-sm.hidden-xs.mrb10.alert-info.alert,
- .top > i,
- .notify_block,
- .text-center.page-chapter,
- #nt_comments > div.mrt5,
- .facebook-like,
- .mrb5.text-center.container,
- .container div:not(.top)>div.mrb5.mrt5.text-center>a,
- .footer {
- display: none !important;
- }
- .scroll-to-fixed-fixed.chapter-nav {
- position: unset !important;
- z-index: 100 !important;
- box-shadow: unset !important;
- }
- `);
- }
- const defaultSettings = {
- zoomFactor: 1
- };
- let settings = GM_getValue('settings', defaultSettings);
- function zoomOutImages() {
- var images = document.querySelectorAll('.box_doc img[src]');
- var factor = settings.zoomFactor;
- for (var i = 0; i < images.length; i++) {
- var image = images[i];
- image.style.width = image.naturalWidth * factor + 'px';
- image.style.height = image.naturalHeight * factor + 'px';
- }
- }
- function setZoomFactor(factor) {
- settings.zoomFactor = factor;
- GM_setValue('settings', settings);
- location.reload();
- }
- const zoomLevels = [1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2];
- const zoomNames = ['100%', '90%', '80%', '70%', '60%', '50%', '40%', '30%', '20%'];
- for (var i = 0; i < zoomLevels.length; i++) {
- let name = (settings.zoomFactor === zoomLevels[i] ? '[x]' : '[ ]') + ' Zoom Out ' + zoomNames[i];
- GM_registerMenuCommand(name, setZoomFactor.bind(null, zoomLevels[i]));
- }
- function lazyloadComment() {
- var tabs = document.querySelectorAll('.tab-content');
- tabs.forEach(function(tab) {
- if (tab.getBoundingClientRect().top < window.innerHeight) {
- loadTabContent(tab);
- } else {
- var observer = new IntersectionObserver(function(entries) {
- entries.forEach(function(entry) {
- if (entry.isIntersecting) {
- loadTabContent(entry.target);
- observer.unobserve(entry.target);
- }
- });
- }, {
- rootMargin: '0px',
- threshold: 0.1
- });
- observer.observe(tab);
- }
- });
- function loadTabContent(tab) {
- console.log('Loading content for', tab);
- }
- }
- removeAds();
- document.addEventListener('DOMContentLoaded', lazyloadComment);
- window.addEventListener('load', zoomOutImages);