您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Allows users to control the number of pages shown in pagination on graphicex.com
- // ==UserScript==
- // @name GraphicEx More Pages
- // @namespace https://greasyfork.org/en/users/781396-yad
- // @version 1.8
- // @description Allows users to control the number of pages shown in pagination on graphicex.com
- // @author YAD
- // @icon https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSxsA3xubmAnVbFJqEgajTJW0kIy7UzO9UEcA&s
- // @match https://graphicex.com/*
- // @license NO-REDISTRIBUTION
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- const PAGINATION_KEY = 'graphicexCurrentPage';
- let currentPage = parseInt(localStorage.getItem(PAGINATION_KEY)) || 1;
- // Function to update pagination
- function updatePagination(totalPages) {
- const navigationDiv = document.querySelector('.navigation.ignore-select');
- if (!navigationDiv) return;
- // Clear existing page links (keep the first span element which indicates the current page)
- const existingLinks = Array.from(navigationDiv.children).filter(child => child.tagName === 'A' || (child.tagName === 'SPAN' && child !== navigationDiv.firstElementChild));
- existingLinks.forEach(link => link.remove());
- // Add new page links
- for (let i = 1; i <= totalPages; i++) {
- if (i === currentPage) {
- const currentPageSpan = document.createElement('span');
- currentPageSpan.textContent = i;
- currentPageSpan.classList.add('active');
- navigationDiv.insertBefore(currentPageSpan, navigationDiv.querySelector('#nextlink'));
- } else {
- const pageLink = document.createElement('a');
- pageLink.href = "#";
- pageLink.textContent = i;
- pageLink.onclick = (function(page) {
- return function() {
- currentPage = page; // Update current page
- localStorage.setItem(PAGINATION_KEY, currentPage); // Save current page to localStorage
- list_submit(page);
- return false;
- };
- })(i);
- navigationDiv.insertBefore(pageLink, navigationDiv.querySelector('#nextlink'));
- }
- }
- }
- // Function to add input for the number of pages
- function addPageInput() {
- const navigationDiv = document.querySelector('.navigation.ignore-select');
- if (!navigationDiv) return;
- const savedTotalPages = localStorage.getItem('graphicexTotalPages') || 10;
- const label = document.createElement('label');
- label.textContent = 'Show pages:';
- label.style.marginLeft = '10px';
- const input = document.createElement('input');
- input.type = 'number';
- input.min = 1;
- input.style.width = '50px';
- input.style.marginLeft = '5px';
- input.value = savedTotalPages; // Load saved value
- input.addEventListener('change', function() {
- const totalPages = parseInt(input.value);
- if (totalPages >= 1) {
- localStorage.setItem('graphicexTotalPages', totalPages); // Save the value
- updatePagination(totalPages);
- }
- });
- navigationDiv.appendChild(label);
- navigationDiv.appendChild(input);
- updatePagination(savedTotalPages); // Initialize with saved or default pages
- }
- // Wait for the page to load and then add the input field and update pagination
- window.addEventListener('load', function() {
- addPageInput();
- });
- })();