您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
增加自动加载和翻页功能
// ==UserScript== // @name 豆瓣电影列表翻页 // @namespace https://gf.qytechs.cn/zh-CN/scripts/396471-%E8%B1%86%E7%93%A3%E7%94%B5%E5%BD%B1%E5%88%97%E8%A1%A8%E7%BF%BB%E9%A1%B5 // @version 0.11 // @description 增加自动加载和翻页功能 // @author Hugo16 // @match https://movie.douban.com/explore // @match https://movie.douban.com/tag/* // @require http://code.jquery.com/jquery-1.7.2.min.js // @grant GM_addStyle // @run-at document-end // ==/UserScript== (function () { 'use strict'; // 供全局使用的url let url = { url: "" }; // 获取请求的地址 let open = window.XMLHttpRequest.prototype.open; window.XMLHttpRequest.prototype.open = function (...args) { open.apply(this, args); url.url = args[1]; } //添加页面按钮 let btn1 = $('<button class="db_btn" >原始模式</button>'); let btn2 = $('<button class="db_btn" >自动加载</button>'); let btn3 = $('<button class="db_btn" >翻页模式</button>'); let btnBox = $('<div class="db_btn_box" ></div>'); btnBox.append(btn1, btn2, btn3); $('body').append(btnBox); // 读取设置 let config = null; let cookieIndex = document.cookie.indexOf('dbMode=') if (cookieIndex > -1) { config = document.cookie.slice(cookieIndex + 7, cookieIndex + 8); switch (config) { case '0': btn1.css('color', 'yellow'); break; case '1': btn2.css('color', 'yellow'); autoScroll(); break; case '2': btn3.css('color', 'yellow'); pageMode(url); break; } } else { document.cookie = 'dbMode=0'; btn1.css('color', 'yellow'); } // 原始模式 btn1.on('click', function () { if (config == 0) return; document.cookie = 'dbMode=0'; window.location.reload(); }); // 自动加载 btn2.on('click', function () { if (config == 1) return; document.cookie = 'dbMode=1'; window.location.reload(); }); // 翻页模式 btn3.on('click', function () { if (config == 2) return; document.cookie = 'dbMode=2'; btn3.css('color', 'yellow').siblings().css('color', 'white'); // 清除其他模式 window.onscroll = null; pageMode(url); config = 2; }) })(); function autoScroll() { window.onscroll = function () { if ($(document).scrollTop() >= $(document).height() - $(window).height()) { $('a.more')[0].click(); } }; } function pageMode(url) { let pageStart, pageLimit, pageIndex, pagePre, pageNext, nowIndex, pageGo, indexWrap, pageWrap; // 分类页面所需参数 let tags, genres, countries, year_range, sort, range; let waiting = false; // 计算当前页数 // 区分找电影和分类两个网址 if (window.location.href.indexOf('explore') >= 0) { pageStart = window.location.hash.match(/page_start=\d+/)[0].split('=')[1]; pageLimit = window.location.hash.match(/page_limit=\d+/)[0].split('=')[1]; pageIndex = pageStart / pageLimit + 1; } else { pageStart = 0; pageIndex = 1; $(".article .tags").on("click", function () { window.location.reload(); }) } // 添加按键 pagePre = $('<button class="db_btn_page" >上一页</button>'); pageNext = $('<button class="db_btn_page" >下一页</button>'); nowIndex = $('<input class="db_input" disabled value=' + pageIndex + ' />'); pageGo = $('<button class="db_btn_go" >跳转</button>'); indexWrap = $('<div></div>'); indexWrap.append(nowIndex, pageGo); pageWrap = $('<div class="db_page_wrap"></div>'); pageWrap.append(pagePre, indexWrap, pageNext) function appendEle() { if ($('a.more').length > 0) { $($('a.more')[0]).after(pageWrap); $($('a.more')[0]).remove(); } else { setTimeout(() => { appendEle(); }, 50); } } appendEle(); // 输入框移入可以输入 indexWrap.on('mouseover', function () { nowIndex.removeAttr('disabled'); }) indexWrap.on('mouseout', function () { nowIndex.attr('disabled', 'disabled'); }) // 输入框只能输入数字 $(nowIndex[0]).on('input', function () { this.value = this.value.match(/^\d+/); }); // 跳转按钮 pageGo.on('click', function () { if (waiting) return; getDataByPageIndex(nowIndex[0].value, pageLimit, url); }) // 上一页按钮 pagePre.on('click', function () { if (waiting) return; nowIndex[0].value = nowIndex[0].value <= 1 ? 1 : nowIndex[0].value * 1 - 1; getDataByPageIndex(nowIndex[0].value, pageLimit, url); }) // 下一页按钮 pageNext.on('click', function () { if (waiting) return; nowIndex[0].value = nowIndex[0].value * 1 + 1; getDataByPageIndex(nowIndex[0].value, pageLimit, url); }) // 重新选择分类时还原索引 $('div.sort').on('click', function () { nowIndex[0].value = 1; }); $('div.tags').on('click', function () { nowIndex[0].value = 1; }); $('div.tag-nav').on('click', function () { nowIndex[0].value = 1; }) } function getDataByPageIndex(index, limit, url) { // 禁止按钮再次点击 waiting = true; if (index <= 0) index = 1; // 整理网址并且获取数据 // 区分找电影和分类两个网址 if (window.location.href.indexOf('explore') >= 0) { let replaceStr = window.location.hash.match(/page_start=\d+/)[0]; url.url = window.location.href.replace(replaceStr, 'page_start=' + (index - 1) * limit).replace('/explore#!', '/j/search_subjects?'); } else { if (url.url) { url.url = url.url.replace(/start=\d+/, 'start=' + ((index - 1) * 20 + 1)); } else { url.url = 'https://movie.douban.com/j/new_search_subjects?start=0&' + window.location.href.split('?')[1]; } } let res = $.ajax({ url: url.url, async: false }); let data; if (window.location.href.indexOf('explore') >= 0) { data = JSON.parse(res.responseText).subjects; } else { data = JSON.parse(res.responseText).data; } // 清空容器并填充新的数据 if (window.location.href.indexOf('explore') >= 0) { $('div.list-wp div.list').empty(); } else { $('div.article div.list-wp').empty(); } for (let i = 0; i < data.length; i++) { if (window.location.href.indexOf('explore') >= 0) { let newItem = $('<a class="item" target="_blank" href="' + data[i].url + '?tag=热门&from=gaia"><div class="cover-wp" data-isnew="' + data[i]['is_new'] + '" data-id="' + data[i].id + '"><img src="' + data[i].cover + '" alt="' + data[i].title + '" data-x="' + data[i]['cover_x'] + '" data-y="' + data[i]['cover_y'] + '"></div><p>' + data[i].title + '<strong>' + data[i].rate + '</strong></p></a>'); $('div.list-wp div.list').append(newItem); } else { let newItem = $('<a class="db_class_a" target="_blank" href="' + data[i].url + '?tag=热门&from=gaia"><div style="background-size: 100%;height: 161px;overflow: hidden;position: relative;" data-isnew="' + data[i]['is_new'] + '" data-id="' + data[i].id + '"><span style="display: inline-block;"><img style="width: 115px;" src="' + data[i].cover + '" alt="' + data[i].title + '" data-x="' + data[i]['cover_x'] + '" data-y="' + data[i]['cover_y'] + '"></span></div><p style="overflow: hidden;color: #333;line-height: 18px;padding-right: 15px;margin: 8px 0 20px;">' + '<span style="margin-right: 5px;">' + data[i].title + '</span><span style="color: #ffac2d;">' + data[i].rate + '</span></p></a>'); $('div.article div.list-wp').append(newItem); } } // 滚动到顶部 $("html,body").animate({ scrollTop: 0 }, 500); // 可以再次点击 waiting = false; } GM_addStyle(".db_btn{padding:10px 10px 10px 0;color:white;border:none;background-color: #4b8ccb;cursor: pointer;}" + ".db_btn:nth-child(2){margin:1px 0}" + ".db_btn_box{z-index:999;position:fixed;left:-80px;top:50%;display:flex;flex-direction:column;width: 90px;border-radius: 0 5px 5px 0;overflow: hidden;transition: left 0.3s;background-color:white;}" + ".db_btn_box:hover{left:0;}" + ".db_page_wrap{display:flex;justify-content: space-between;}" + ".db_btn_page{background:#f7f7f7;color:#37a;padding:5px;border:none;width:30%;cursor:pointer}" + ".db_btn_page:hover{background:#eee;}" + ".db_btn_go{background:#f7f7f7;color:#37a;padding:5px;border:none;cursor:pointer}" + ".db_btn_go:hover{background:#eee;}" + ".db_input{width:50px;text-align:center}" + ".db_class_a{display: inline-block;vertical-align: top;font-size: 13px;text-align: left;padding: 0;width: 140px;}" + ".db_class_a:hover{background:#FFF !important}")
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址