URL Page Navigator

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

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name         URL Page Navigator
// @version      1.2
// @description  Increment or decrement 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) {
        const regex = /(\d+)(?!.*\d)/;
        const match = url.match(regex);
        if (match) {
            const number = parseInt(match[0], 10);
            const incrementedNumber = number + 1;
            return url.replace(regex, incrementedNumber);
        }
        return url;
    }

    function decrementIntegerValue(url) {
        const regex = /(\d+)(?!.*\d)/;
        const match = url.match(regex);
        if (match) {
            const number = parseInt(match[0], 10);
            const decrementedNumber = number - 1;
            return url.replace(regex, decrementedNumber);
        }
        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;
            }
        } else if (event.altKey && event.key === 'l') {
            event.preventDefault();
            const currentUrl = window.location.href;
            const decrementedUrl = decrementIntegerValue(currentUrl);
            if (decrementedUrl !== currentUrl) {
                window.location.href = decrementedUrl;
            }
        }
    }

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