// ==UserScript== // @name 手机助手 // @namespace http://tampermonkey.net/ // @version 9.500.18.60 // @description 自动滚动,嗅探图片、视频,字体放大,去除广告浮动 // @author You // @match *://*/* // @run-at document-start // @require https://code.jquery.com/jquery-3.7.1.min.js // @require https://code.jquery.com/jquery-migrate-3.4.0.min.js // @grant GM_registerMenuCommand // @grant GM_setValue // @grant GM_getValue // @license MIT // @downloadURL none // ==/UserScript== { 'use strict'; let hengPin = screen.orientation.lock; (function($) { if (document.querySelector('.JqMA-btn-all') || window.frames.length != parent.frames.length) { return; } function dqSlt(selectPath, _iframe = "iframe") { if (_iframe === "one") { return $(document.querySelector(selectPath)); } let doms; try { doms = $(selectPath); } catch (error) { doms = $(document.querySelectorAll(selectPath)); } if (_iframe === "iframe") { $(document.querySelectorAll('iframe')).each(function() { doms.add($(this).contents().find(selectPath)); }); } return doms; } function removeShadowRoot() { let hasShadowRoot; const divs = document.querySelectorAll('div'); for (let i = 0; i < divs.length; i++) { let _this = divs[i]; if (_this.shadowRoot) { _this.replaceWith(..._this.shadowRoot.childNodes); hasShadowRoot = true; } } alert(hasShadowRoot ? "#shadow-root 已移除" : "#shadow-root 不存在"); } function checkImgExists(imgurl) { return new Promise(function(resolve, reject) { var ImgObj = new Image(); ImgObj.src = imgurl; ImgObj.onload = function(res) { resolve(this); } ImgObj.onerror = function(err) { reject(err) } }); } function getTouchSite(_element, event) { let rect = _element.getBoundingClientRect(); let offsetY = event.touches[0].clientY - rect.top - _element.offsetHeight / 2; let offsetX = event.touches[0].clientX - rect.left - _element.offsetHeight / 2; return [offsetX, offsetY, _element.offsetHeight]; } function getSelector(element) { let path = "", index = 0; while (index < 3 && element && element.nodeType == Node.ELEMENT_NODE) { let selector = element.nodeName.toLowerCase(); if (selector == "body") { break; } if (element.id) { selector += "#" + element.id; } else if (element.classList.length > 0) { selector += "." + Array.from(element.classList).join("."); } path = selector + " > " + path; element = element.parentNode; index++; } return path.replace(/[> ]+$/, ""); } function documentCopy(copyText) { let _input = document.createElement('input'); _input.setAttribute('style', 'position:fixed!important;clip:rect(0 0 0 0)!important;top:10px!important;'); _input.value = copyText; document.body.appendChild(_input); _input.select(); document.execCommand('copy'); document.body.removeChild(_input); } function copyToClipboard(copyText) { try { navigator.clipboard.writeText(copyText).catch(() => { documentCopy(copyText); }); } catch (error) { documentCopy(copyText); } } function getDataValue(gmValName, _default) { let _data = GM_getValue(gmValName, {}), keys = Object.keys(_data); if (keys.length > 200) { delete _data[keys[0]]; } return [_data, _data.hasOwnProperty(locHost()) ? _data[locHost()] : _default]; } let addCss = GM_getValue("addCss", ""); let hidePagetual = GM_getValue("hidePagetual", 0) GM_registerMenuCommand("1:隐藏按钮 2:隐藏东方 3:添加css", function() { const element = document.querySelector(".JqMA-btn-del"); const isHide = window.getComputedStyle(element).display === "none"; let inputNum = window.prompt("1:" + (isHide ? "显示" : "隐藏") + "按钮 2:" + (hidePagetual ? "显示" : "隐藏") + "东方按钮 3:添加css", 1); if (inputNum === "1") { if (isHide) { dqSlt(Dhide ? ".JqMA-btn-del" : ".JqMA-btn-all", "all").each(function() { this.style.cssText += "display:block!important;" + (Dhide ? "opacity:0.5!important;" : ""); }); } else { dqSlt(".JqMA-btn-all", "all").each(function() { this.style.cssText += "display:none!important;"; }); } } else if (inputNum === "2") { hidePagetual = hidePagetual ? 0 : 1; GM_setValue("hidePagetual", hidePagetual); location.reload(false); } else if (inputNum === "3") { inputNum = window.prompt("输入css内容:", addCss); if (inputNum !== null) { GM_setValue("addCss", inputNum); location.reload(false); } } }); function changeDataFunc(_data, _default) { var changeData = window.prompt("请修改:", JSON.stringify(_data)); if (typeof JSON.parse(changeData) == "object") { changeData && alert(changeData); changeData = JSON.parse(changeData) return [changeData, changeData.hasOwnProperty(locHost()) ? changeData[locHost()] : _default] } else { return false; } } var html_style = `html,body { overflow-wrap: break-word!important; scroll-behavior: auto!important; min-height: 100vh!important; }`; var inner_style = `.JqMA-inner-all{ position: relative !important; z-index: 2147483646 !important; margin: 10vh 0 5vh 0!important; border: 0 !important; padding: 0 !important; width: 100% !important; height: auto !important; background: black !important; display: block !important; } .JqMA-inner-all, .JqMA-inner-word *, .JqMA-inner-pic * { box-sizing: border-box !important; border-radius: 0 !important; float: none !important; opacity: 1 !important; visibility: visible !important; overflow-wrap: break-word !important; filter: none!important; -webkit-filter: none!important; } .JqMA-inner-word, .JqMA-inner-word > p { color: #FEFEFE!important; text-align: left!important; font-size: calc(2.3vh + 2.3vw)!important; text-indent: 0!important; } .JqMA-inner-word > p { width: 100%!important; } .JqMA-inner-pic { text-align: center !important; font: 0 "Fira Sans", sans-serif !important; } .JqMA-inner-word *, .JqMA-inner-pic *{ margin: 0 !important; padding: 0 !important; border: 0 !important; position: static !important; } .JqMA-inner-pic *::before, .JqMA-inner-pic *::after { display: none !important; } .JqMA-inner-pic img { display: inline-block !important; width: 100% !important; height: auto !important; object-fit: contain !important; background: gray !important; } .JqMA-inner-pic > *{ vertical-align: top !important; overflow: hidden !important; } .JqMA-inner-word a, .JqMA-inner-pic a, .JqMA-mark-pageNum { background: none!important; color: #FEFEFE!important; height: calc(2.7vh + 2.7vw)!important; font-size: calc(1.7vh + 1.7vw)!important; line-height: 1.4!important; text-align: center!important; } .JqMA-mark-pageNum { width: 100%!important; } html .JqMA-inner-pic > img + a { margin-top: calc(-5.4vh - 5.4vw)!important; } html .JqMA-inner-pic > img + a + a{ margin-top: calc(-2.7vh - 2.7vw)!important; } .JqMA-inner-pic img.JqMA-css-smallPic { width: 12.5%!important; height: 8vw!important; } .JqMA-inner-pic p > a{ display: inline!important; } .JqMA-inner-word > a{ display: inline-block!important; width: 100%!important; } .JqMA-inner-pic > a { display: inline-block!important; width: 12.5%!important; margin-right: 43.75%!important; margin-left: 43.75%!important; background: rgba(0,0,0,0.2)!important; } .JqMA-inner-pic > a.JqMA-css-smallPic { display: none!important; } .JqMA-btn-all, .JqMA-inner-all, .JqMA-inner-pic * { min-width:none!important; max-width:none!important; min-height:none!important; max-height:none!important; } .JqMA-btn-all { overflow: hidden!important; opacity: 1!important; background: rgba(0,0,0,0.4)!important; color: #FEFEFE!important; display: none!important; text-align: center!important; text-indent: 0!important; line-height: 2.8!important; border-radius: 0!important; user-select: none!important; z-index: 999999999999!important; margin: 0!important; padding: 0!important; border: 0!important; font-weight: bold!important; position: fixed!important; font-size: calc(1.2vh + 1.2vw)!important; height: calc(3.2vh + 3.2vw)!important; width: calc(3.2vh + 3.2vw)!important; } html .JqMA-btn-del { display: block!important; opacity: 0.4!important; } `; var css_style = `.JqMA-mark-pageNext:not(.JqMA-mark-pageNum) { display: inline-block !important; height: 0 !important; min-height: none !important; margin: 0 !important; border: 0 !important; padding: 0 !important; overflow: hidden !important; } .JqMA-inner-word,.JqMA-inner-word > p { letter-spacing: normal !important; line-height: normal !important; overflow-wrap: break-word !important; } .JqMA-css-fixed_hide { display: none !important; } .JqMA-css-overY_auto{ overflow-y: auto!important; } .JqMA-css-transform { transform: translate(0%, 0%) !important; padding: 50vh 0!important; height: auto !important; max-height: none !important; }` + addCss; if (hidePagetual) { css_style += `.pagetual_pageBar,#pagetual-sideController { display: inline-block !important; height: 0 !important; min-height: none !important; margin: 0 !important; border: 0 !important; padding: 0 !important; overflow: hidden !important;}`; } function locHost() { return window.location.hostname; } function getValLoc(gValName, _default) { if (locHost() == GM_getValue(gValName + "_locH")) { return GM_getValue(gValName, _default); } else { return _default; } } function setValLoc(gValName, value) { GM_setValue(gValName, value); GM_setValue(gValName + "_locH", locHost()); } let scrollJu = Math.abs(GM_getValue("scrollJu", 5)); var [DSImgData, DSImg] = getDataValue("DSImgData", 1); let minPicHD = GM_getValue("minPicHD", 500); let minPicwh = GM_getValue("minPicwh", 100), picwh = getValLoc("picwh", minPicwh); let minOuterSz = GM_getValue("minOuterSz", 10), outerSz = getValLoc("outerSz", minOuterSz); let smoothScroll = GM_getValue("smoothScroll", 0); var direction = 1; function addInput(class1, value1, style1) { dqSlt("html", "one").append($('
').attr({ class: "JqMA-btn-all " + class1 }).text(value1)); inner_style += ".JqMA-btn-all." + class1 + "{" + style1 + "!important;left: 0!important;}"; } function addAllBtn() { addInput('JqMA-btn-del', 'X', "top:calc(50vh - 1.6vh - 1.6vw)"); addInput('JqMA-btn-down', '♢', "top:calc(50vh - 4.8vh - 4.8vw)"); addInput('JqMA-btn-Ju', (smoothScroll ? "`" : "") + scrollJu, "top:calc(50vh - 8vh - 8vw)"); addInput('JqMA-btn-width', "W", "top:calc(50vh - 11.2vh - 11.2vw)"); addInput('JqMA-btn-scrollDiv', 'O', "top:calc(50vh - 14.4vh - 14.4vw)"); addInput('JqMA-btn-transform', "T", "top:calc(50vh + 1.6vh + 1.6vw)"); addInput('JqMA-btn-blank ', 'B', "top:calc(50vh + 4.8vh + 4.8vw)"); addInput('JqMA-btn-pic', picwh, "top:calc(50vh + 8vh + 8vw)"); addInput('JqMA-btn-outerSz', outerSz, "top:calc(50vh + 11.2vh + 11.2vw)"); } addAllBtn(); var Dhide = getValLoc("Dhide", 1); delHide(); setTimeout(function() { widthN && document.querySelectorAll(".JqMA-btn-width").forEach(function(element) { element.textContent = widthN; }); picZ && document.querySelectorAll(".JqMA-btn-pic").forEach(function(element) { element.style.setProperty("color", "green", "important"); }); openBlank && document.querySelectorAll(".JqMA-btn-blank").forEach(function(element) { element.style.setProperty("color", "green", "important"); }); DSImg && document.querySelectorAll(".JqMA-btn-outerSz").forEach(function(element) { element.style.setProperty("color", "green", "important"); }); Drotate && document.querySelectorAll(".JqMA-btn-blank").forEach(function(element) { element.textContent = "BF"; }); if (Dtransform) { applyClearStyle(); document.querySelectorAll(".JqMA-btn-transform").forEach(function(element) { element.style.setProperty("color", "green", "important"); }); } firstRun(); dqSlt("html", "one").one("touchend", function() { if (Dscroll) { Dscroll = 0; scrollRun(); } }); }, 200); dqSlt("head", "one").append( $("