// ==UserScript== // @name 手机看图、小说适配 // @namespace http://tampermonkey.net/ // @version 9.305 // @description 页面旋转,自动滚动,图片集合 // @author You // @match *://*/* // @icon https://www.google.com/s2/favicons?sz=64&domain=pixabay.com // @grant none // @require https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; var Dscroll = 0; var Dxy = 0; var timeDown; var scrollJu = 180; var winW; if ($(window).width() > $(window).height()) { winW = $(window).height() * 0.9; } else { winW = $(window).width(); } var width = winW * 0.125; var height = winW * 0.1; var top = $(window).height() * 0.35 - winW * 0.05; var fontSz = winW * 0.036; var jianG = winW * 0.1; var left2 = -0.125 * winW * 0.125; var left = winW * 0.125 + left2; var degZ = 0; var secZ = 2; var scaleZ = 1; var xMove = 0; var twoCss = "position:absolute; top:0; left: 0; overflow: visible; width: 100%!important; height: auto!important; z-index: 2147483646!important; padding: 0 0 1000px 0!important; margin: 0; border: 0; background-color: black;" var aScss = "border-radius: " + (width * 0.1) + "px;cursor: pointer; opacity: 0.8; z-index: 2147483647!important; padding: 0!important; font-weight: bold; font-size: " + fontSz + "px !important;line-height:12px!important; border:2px solid white;height:" + height + "px;background-color:black;color:white;position:fixed;width:" + width + "px;left:0%; top: 15%; "; var sameCss = aScss + "margin-left:" + left + "px;"; var sameCss2 = aScss + "margin-left:" + left2 + "px;"; if ($('.JqScroll').length > 0) { return } $("body").append("") .append("") .append("") .append("") .append("") .append("") .append("") .append("") .append("") .append("") $('').appendTo('head'); var Drotate = 0; $("body").on('touchstart', '#Jscroll-rotate', function() { Drotate += 1; if (Drotate % 2 != 0) { $("#Jscroll-rotate").css("color", "green"); var wrap_rotate; var wrap_rotate_inner; if ($('#wrap_rotate').length == 0) { wrap_rotate = $('
', { id: "wrap_rotate" }); wrap_rotate_inner = $('
', { id: "wrap_rotate_inner" });; $('body').wrapInner(wrap_rotate_inner).wrapInner(wrap_rotate); } wrap_rotate = $('#wrap_rotate'); wrap_rotate_inner = $('#wrap_rotate_inner'); var window_width = $(window).height(); window.scrollTo(0, 3 * window_width); setTimeout(function() { wrap_rotate.append($(".JqScroll")); wrap_rotate.attr('style', "z-index: 2147483647!important; overflow-y: visible; height: " + (window_width) + "px;width:" + ($(document).height() + 10) + "px;"); wrap_rotate_inner.attr('style', "z-index: 2147483647!important; position: relative; left: -100%; -webkit-transform: rotateZ(-90deg); -webkit-transform-origin-x: 100%; -webkit-transform-origin-y: 0%; -moz-transform: rotateZ(-90deg); -moz-transform-origin-x: 100%; -moz-transform-origin-y: 0%;float: right; width: " + window_width + "px;"); xMove = 1; $("body").css({ "overflow": "visible", }); $("html").css({ "overflow-x": "visible", "overflow-y": "hidden", "max-height": $(window).height(), }); if ($("#wrap_rotate").width() < $("#wrap_rotate_inner").outerHeight() + 1500) { $("#wrap_rotate").width($("#wrap_rotate_inner").outerHeight() + 1500); } window.scrollTo(0, 0); }, 200); } else { $("#Jscroll-rotate").css("color", "white"); xMove = 0; $("html").css({ "overflow-y": "scroll", }); setTimeout(function() { $('#wrap_rotate').attr('style', ""); $('#wrap_rotate_inner').attr('style', ""); }, 200); } }); var fSize; var fontZ; var widthN = 12; $("body").on('touchstart', '#Jscroll-width', function() { fSize = parseInt($(document).width() / widthN); $("#Jscroll-width").css("color", "green"); if (widthN > 17) { fSize = "inherit"; $("#Jscroll-width").css("color", "white"); } function interFn() { $(":not(:has(div,li))").filter(function() { return $(this).is('p') || $(this).is('strong') || $(this).clone().children().remove().end().text().length > 100; }).css({ "background-color": "black", "color": "white", "font-size": fSize, "line-height": "normal", }); } clearInterval(fontZ); interFn(); fontZ = setInterval(interFn, 4 * 1000); $("#Jscroll-width").val(20 - widthN); if (widthN == 18) { $("#Jscroll-width").val("W"); } if (fSize == "inherit") { widthN = 10; } widthN += 2; }); function shallowEqual(object1, object2) { const keys1 = Object.keys(object1); const keys2 = Object.keys(object2); if (keys1.length !== keys2.length) { return false; } for (let index = 0; index < keys1.length; index++) { const val1 = object1[keys1[index]]; const val2 = object2[keys2[index]]; if (val1 !== val2) { return false; } } return true; } function clearBlank(urlB) { return $.grep(urlB.split(" "), function(n, i) { return /[/?]/.test(n); }, false)[0]; } function is_img_url(urlm) { if (/[/?]/.test(urlm) && !/^data[:]|[./](js|css|svg)([?]|$)/.test(urlm)) { return true; } else { return false; } } var widthZ; var picZ = 0; var imgAr; var newImgAr; $("body").on('touchstart', "#Jscroll-pic", function() { clearInterval(widthZ); $("#Jscroll-ul").remove(); picZ += 1; function interFn() { var preArr = []; var preArr_2 = []; var dataObj = {}; newImgAr = []; $("body *").each(function() { var _img = $(this); var _outWidth = _img.outerWidth(); var _outHeight = _img.outerHeight(); if (_img.parents("#Jscroll-ul").length == 0 && (_outWidth > 40 || _outWidth == 0)) { var _backImg = _img.css("background-image").split("\""); Object.assign(dataObj, { "_src": _img.attr("src") ? _img.attr("src") : "", "_srcset": _img.attr("srcset") ? _img.attr("srcset") : "", "_backImg": _backImg.length > 1 && _img.css("background-repeat") == "no-repeat" ? _backImg[1] : "", }); Object.assign(dataObj, _img.data()); $.each(dataObj, function(v, i) { i = clearBlank(i.toString()); if (is_img_url(i) && (!/[./](gif)(\?|$)/.test(i) || _outHeight > 180)) { if (picZ == 1 || picZ == 3) { newImgAr.push(""); } if (picZ == 2 && _img.closest("a").length != 0 && preArr.indexOf(i) == -1) { newImgAr.push(_img.closest("a").clone(true).empty().append("")); preArr.push(i); } } }); if (picZ == 3 && _img.is("a") && _outWidth > 80) { var _href = _img.attr("href"); var _a = _img.clone(true).empty().html(_img.attr("title") ? _img.attr("title") : _img.text()); if (!_href) { newImgAr.push(_a); }else if (preArr_2.indexOf(_href) == -1) { newImgAr.push(_a); preArr_2.push(_href); } } } }); newImgAr = Array.from(new Set(newImgAr)); if (newImgAr.toString() != imgAr.toString()) { imgAr = newImgAr; $("#Jscroll-ul").empty().append(imgAr); $("#Jscroll-ul *").css("cssText", "font-size: 0; padding: 0 !important; margin: 0 !important; border: 0 !important; position: static !important; float: none !important; border-radius: 0 !important;"); $("#Jscroll-ul img,#Jscroll-ul a").css({ "height": "auto", "width": "100%", "opacity": "1", "visibility": "visible", "display": "block", "object-fit": "contain", "max-height": winW * 6, "min-height": winW * 0.1, "background-color": "black", }); $("#Jscroll-ul>img").css({ "border": "1px solid gray", }); $("#Jscroll-ul a").css({ "border": "1px solid red", "font-size": "20px", "color": "white", "line-height": "normal", "background-image": "none", }); var isSupportLoading = 'loading' in document.createElement('img'); if (isSupportLoading) { $("#Jscroll-ul img").attr("loading", "lazy"); } } if (xMove == 1) { if ($("#wrap_rotate").width() < $("#Jscroll-ul").outerHeight() + 500) { $("#wrap_rotate").width($("#Jscroll-ul").outerHeight() + 500); } } else { if ($("body").height() < $("#Jscroll-ul").outerHeight()) { $("body").height($("#Jscroll-ul").outerHeight()); } } } if (picZ < 4) { if (xMove == 1) { $("#wrap_rotate_inner").prepend("
"); } else { $("body").prepend("
"); } imgAr = [] $("#Jscroll-pic").css("color", "green").val(picZ); interFn() widthZ = setInterval(interFn, 4000); } else { $("#Jscroll-pic").css("color", "white").val("P"); if (xMove == 1) { $("#wrap_rotate").width($("#wrap_rotate_inner").outerHeight() + 1500); } else { $("body").css({ "height": "auto" }); } picZ = 0; } }); $("body").on('click', "#Jscroll-ul>*:not(a)", function(e) { var touchX = e.clientX; var touchY = e.clientY; var howH = 0.7; var scrollH = 0.6; if (xMove == 1) { if (touchX > $(window).width() * scrollH) { window.scrollBy($(window).width() * howH, 0) } else { window.scrollBy($(window).width() * howH * -1, 0) } } else { howH = 0.7; if (touchY > $(window).height() * scrollH) { window.scrollBy(0, $(window).height() * howH); } else { window.scrollBy(0, $(window).height() * howH * -1); } } }); var timeout_7; $("body").on('touchstart', '#Jscroll-pic', function() { timeout_7 = setTimeout(function() { clearInterval(widthZ); $("#Jscroll-ul").remove(); $("#Jscroll-pic").css("color", "white").val("P"); if (xMove == 1) { $("#wrap_rotate").width($("#wrap_rotate_inner").outerHeight() + 1500); } else { $("body").css({ "height": "auto" }); } picZ = 0; }, 500); }).on('touchend touchmove', '#Jscroll-pic', function() { clearTimeout(timeout_7); }); $("body").on('touchstart', '#Jscroll-sec', function() { secZ -= 1; if (secZ < 0) { secZ = 3 } if (secZ < 1) { secZ = 0.6 } $("#Jscroll-sec").val(secZ); }); $("body").on('touchstart', '#Jscroll-jia', function() { scrollJu += 45; $("#Jscroll-Ju").val(scrollJu); }); var toH; var pageX; var pageY; var timeHu; $("body").on('touchstart', '#Jscroll-xy', function() { if (xMove != 1) { toH = $(document).height(); } else { toH = $("#wrap_rotate_inner").outerHeight() - 250; } Dxy += 1; clearTimeout(timeHu); if (Dxy % 2 == 1) { pageX = $(window).scrollLeft(); pageY = $(window).scrollTop(); if (xMove == 1) { window.scrollTo(toH, 0); } else { window.scrollTo(0, toH); }; $("#Jscroll-xy").val("="); $("#Jscroll-up").val("="); timeHu = setTimeout(function() { Dxy += 1; $("#Jscroll-up").val("△"); $("#Jscroll-xy").val("▽"); }, 8 * 1000); } else { window.scrollTo(pageX, pageY); $("#Jscroll-up").val("△"); $("#Jscroll-xy").val("▽"); } }); $("body").on('touchstart', '#Jscroll-up', function() { Dxy += 1; clearTimeout(timeHu); if (Dxy % 2 == 1) { pageX = $(window).scrollLeft(); pageY = $(window).scrollTop(); window.scrollTo(0, 0); $("#Jscroll-xy").val("="); $("#Jscroll-up").val("="); timeHu = setTimeout(function() { Dxy += 1; $("#Jscroll-up").val("△"); $("#Jscroll-xy").val("▽"); }, 8 * 1000); } else { window.scrollTo(pageX, pageY); $("#Jscroll-up").val("△"); $("#Jscroll-xy").val("▽"); } }); setTimeout(function() { $(".JqScroll").hide(); $("#Jscroll-del").show().css({ "opacity": "0.4", "-webkit-transform": "scale(0.72)", "-moz-transform": "scale(0.72)", "transform": "scale(0.72)", }); }, 100); var Dhide = 1; $("body").on('touchstart', '#Jscroll-del', function() { Dhide += 1; if (Dhide % 2 != 0) { $(".JqScroll").hide(); $("#Jscroll-del").show().css({ "opacity": "0.4", "-webkit-transform": "scale(0.72)", "-moz-transform": "scale(0.72)", "transform": "scale(0.72)", }); } else { $(".JqScroll").show(); $("#Jscroll-del").css({ "opacity": "0.8", "-webkit-transform": "scale(1)", "-moz-transform": "scale(1)", "transform": "scale(1)", }); if (Dscroll % 2 != 0 && secZ < 1.5) { Dscroll += 1; $("#Jscroll-Ju").css("color", "white"); clearInterval(timeDown); } } }); var timeout_2; $("body").on('touchstart', '#Jscroll-del', function() { timeout_2 = setTimeout(function() { $(".JqScroll").hide(); $("#Jscroll-del").css({ "opacity": "0.4", "-webkit-transform": "scale(0.72)", "-moz-transform": "scale(0.72)", "transform": "scale(0.72)", }); if (Dhide % 2 == 0) { Dhide += 1; } }, 700); }).on('touchend touchmove', '#Jscroll-del', function() { clearTimeout(timeout_2); }); var timeout_3; $("body").on('touchstart', function() { timeout_3 = setTimeout(function() { $("#Jscroll-del").show(); }, 500); }).on('touchend touchmove', function() { clearTimeout(timeout_3); }); $("body").on('touchstart', '#Jscroll-jian', function() { scrollJu -= 45; $("#Jscroll-Ju").val(scrollJu); }); var timeout_4; $("body").on('touchstart', '#Jscroll-jian', function() { timeout_4 = setTimeout(function() { scrollJu -= 135; $("#Jscroll-Ju").val(scrollJu); }, 500); }).on('touchend touchmove', '#Jscroll-jian', function() { clearTimeout(timeout_4); }); var timeout_5; $("body").on('touchstart', '#Jscroll-jia', function() { timeout_5 = setTimeout(function() { scrollJu += 135; $("#Jscroll-Ju").val(scrollJu); }, 500); }).on('touchend touchmove', '#Jscroll-jia', function() { clearTimeout(timeout_5); }); var timeout_6; $("body").on('touchstart', '#Jscroll-Ju', function() { timeout_6 = setTimeout(function() { scrollJu = 180; $("#Jscroll-Ju").val(scrollJu); Dscroll += 1; if (Dscroll % 2 != 0) { $("#Jscroll-Ju").css("color", "green"); clearInterval(timeDown); timeDown = setInterval(function() { if (xMove == 1) { window.scrollBy(scrollJu, 1) window.scrollBy(0, -1); } else { window.scrollBy(0, scrollJu) } }, secZ * 1000); } else { $("#Jscroll-Ju").css("color", "white"); clearInterval(timeDown); } }, 500); }).on('touchend touchmove', '#Jscroll-Ju', function() { clearTimeout(timeout_6); }); $("body").on('touchstart', '#Jscroll-Ju', function() { Dscroll += 1; if (Dscroll % 2 != 0) { $("#Jscroll-Ju").css("color", "green"); clearInterval(timeDown); timeDown = setInterval(function() { if (xMove == 1) { window.scrollBy(scrollJu, 0) } else { window.scrollBy(0, scrollJu) } }, secZ * 1000); } else { $("#Jscroll-Ju").css("color", "white"); clearInterval(timeDown); } }); // Your code here... })();