URL Page Navigator

Increment an integer value in the URL with keyboard shortcuts to go next page or previous page

Από την 07/01/2024. Δείτε την τελευταία έκδοση.

// ==UserScript==
// @name       URL Page Navigator
// @version    1.5
// @description Increment an integer value in the URL with keyboard shortcuts to go next page or previous page
// @grant      none
// @match      *://*/*
// @license    MIT
// @namespace https://greasyfork.org/users/875241
// ==/UserScript==

(function() {
 'use strict';

 function incrementIntegerValue(url) {
    let regex = /(\d+)(?=.*\d)/;
    let match = url.match(regex);
    if (match) {
        let number = parseInt(match[0], 10);
        let incrementedNumber = number + 1;
        if(number >= 1000 && number <= 9999){
            let secondLastMatch = url.match(/(\d+)(?=.*\d)/g)[1];
            let secondLastNumber = parseInt(secondLastMatch, 10);
            return url.replace(new RegExp(secondLastMatch, 'g'), secondLastNumber + 1);
        } else {
            return url.replace(regex, incrementedNumber);
        }
    }
    return url;
 }

 function handleShortcut(event) {
    if (event.altKey && event.key === 'k') {
        event.preventDefault();
        const currentUrl = window.location.href;
        const incrementedUrl = incrementIntegerValue(currentUrl);
        if (incrementedUrl !== currentUrl) {
            window.location.href = incrementedUrl;
        }
    }
 }

 document.addEventListener('keydown', handleShortcut);
})();