flickr - open an amount of next pages at once

flickr - open a specific amount of next pages at once - big button to close the page with a click

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         flickr - open an amount of next pages at once
// @namespace    http://tampermonkey.net/
// @version      2.2
// @description  flickr - open a specific amount of next pages at once - big button to close the page with a click
// @author       ClaoDD
// @match        https://www.flickr.com/*
// @grant        window.close
// @grant        window.focus
// ==/UserScript==


// DEFINIZIONE URL _________________________________________________________________

var indirizzoPhotos;

setInterval(() => {
  if((window.location.href.includes("photos") && !window.location.href.includes("with"))||(window.location.href.includes("groups") && !window.location.href.includes("with")) ) {
    indirizzoPhotos = window.location.href;
  }
}, 100);


// BOTTONI _________________________________________________________________

var divmio = document.createElement("div");
divmio.style.cssText = 'position:static;width:100%;height:120px;opacity:0;z-index:100;';

var button1 = document.createElement("button");
button1.innerHTML = "open the next ... pages";
button1.style.position = "relative";
button1.style.left = "10%";

var buttonO = document.createElement("button");
buttonO.innerHTML = "Open next page";
buttonO.style.backgroundColor = "#ffffff";
buttonO.style.color = "#008ddf";
buttonO.style.border = "2px solid";
buttonO.style.width = "9%";
buttonO.style.height = "330px"; // Altezza ridotta per evitare la sovrapposizione
buttonO.style.position = "fixed"; // Imposta il posizionamento fisso
buttonO.style.right = "10px"; // Posiziona il bottone a destra
buttonO.style.bottom = "120px"; // Imposta la posizione sopra "Close this page"

var buttonO3 = document.createElement("button");
buttonO3.innerHTML = "Open in background";
buttonO3.style.backgroundColor = "#ffffff";
buttonO3.style.color = "#008ddf";
buttonO3.style.border = "2px solid";
buttonO3.style.width = "9%";
buttonO3.style.height = "80px"; // Altezza ridotta per evitare la sovrapposizione
buttonO3.style.position = "fixed"; // Imposta il posizionamento fisso
buttonO3.style.right = "10px"; // Posiziona il bottone a destra
buttonO3.style.bottom = "810px"; // Imposta la posizione sopra "Close this page"

var buttonSW = document.createElement("button");
buttonSW.innerHTML = "1 Open in background<br>2 close this page";
buttonSW.style.backgroundColor = "#ffffff";
buttonSW.style.color = "#800080";
buttonSW.style.border = "2px solid";
buttonSW.style.width = "9%";
buttonSW.style.height = "120px"; // Altezza ridotta per evitare la sovrapposizione
buttonSW.style.position = "fixed"; // Imposta il posizionamento fisso
buttonSW.style.right = "10px";
buttonSW.style.bottom = "960px"; // Imposta la posizione sopra "Close this page"

var buttonClose = document.createElement("button");
buttonClose.innerHTML = "Close this page";
buttonClose.style.backgroundColor = "#ffffff";
buttonClose.style.color = "#a18160";
buttonClose.style.border = "2px solid";
buttonClose.style.width = "9%";
buttonClose.style.height = "330px"; // Altezza ridotta per evitare la sovrapposizione
buttonClose.style.position = "fixed"; // Imposta il posizionamento fisso
buttonClose.style.right = "10px"; // Posiziona il bottone a destra
buttonClose.style.bottom = "460px"; // Imposta la posizione in basso

var buttonO2 = document.createElement("button");
buttonO2.innerHTML = "open the next page";
buttonO2.style.position = "relative";
buttonO2.style.left = "20%";
buttonO2.style.backgroundColor = "#ffffff";
buttonO2.style.color = "#008ddf";
buttonO2.style.border = "2px solid";
buttonO2.style.width = "10%";
buttonO2.style.height = "200px";

var buttonClose2 = document.createElement("button");
buttonClose2.innerHTML = "Close this page";
buttonClose2.style.backgroundColor = "#ffffff";
buttonClose2.style.color = "#a18160";
buttonClose2.style.border = "2px solid";
buttonClose2.style.width = "36%"; //change this value for the width of the "Close this page" button
buttonClose2.style.height = "200px"; //change this value for the height of the "Close this page" button
buttonClose2.style.position = "relative";
buttonClose2.style.left = "21%";

var button10 = document.createElement("button");
button10.innerHTML = "10";
button10.style.position = "relative";
button10.style.left = "11%";

var buttonHide = document.createElement("button");
buttonHide.innerHTML = "hide";
buttonHide.style.backgroundColor = "#ffffff";
buttonHide.style.color = "#008ddf";
buttonHide.style.border = "1px solid";
buttonHide.style.width = "1%";
buttonHide.style.fontSize = "8px";
//buttonHide.style.opacity = '0.5';
buttonHide.style.height = "30px"; // Altezza ridotta per evitare la sovrapposizione
buttonHide.style.position = "fixed"; // Imposta il posizionamento fisso
buttonHide.style.right = "10px"; // Posiziona il bottone a destra
buttonHide.style.bottom = "3%"; // Imposta la posizione sopra "Close this page

buttonO.style.zIndex = "999";
buttonO3.style.zIndex = "999";
buttonClose.style.zIndex = "999";
buttonHide.style.zIndex = "999";


document.body.appendChild(divmio);
document.body.insertBefore(button1, divmio);
document.body.insertBefore(button10, divmio);
document.body.insertBefore(buttonO2, divmio);
document.body.insertBefore(buttonHide, divmio);
document.body.insertBefore(buttonSW, divmio);
document.body.insertBefore(buttonO3, divmio);
document.body.insertBefore(buttonClose2, divmio);
document.body.insertBefore(buttonO, divmio);
document.body.insertBefore(buttonClose, divmio);


// CODICE FUNZIONALE _________________________________________________________________

// funzione hide other buttons
buttonHide.addEventListener("click", function(){
    if (buttonO.style.display != "none"){
    buttonO.style.display = "none";
    buttonO3.style.display = "none";
    buttonSW.style.display = "none";
    buttonClose.style.display = "none";
    //buttonHide.style.display = "none";
    buttonHide.innerHTML = "show";
} else { buttonO.style.display = "inline-block";
    buttonO3.style.display = "inline-block";
    buttonSW.style.display = "inline-block";
    buttonClose.style.display = "inline-block";
    buttonHide.innerHTML = "hide";}
});

// funzione apertura NEXT page
function handlePageClick() {
    if (indirizzoPhotos.includes('page')){
    var indirizzoDiviso2 = indirizzoPhotos.split('page');
    var numCorrente2 = indirizzoDiviso2[indirizzoDiviso2.length -1];
    var indirizzoSenzaNum2 = indirizzoDiviso2.splice(0, (indirizzoDiviso2.length -1));
    window.open(indirizzoSenzaNum2 +'page'+(parseInt(numCorrente2, 10)+ 1), "_self");
    }
    if (!(indirizzoPhotos.includes('page'))){
    window.open(window.location.href + 'page2', "_self");
    }
  }
buttonO.addEventListener("click", handlePageClick);
buttonO2.addEventListener("click", handlePageClick);

// funzione apertura NEXT in background
buttonO3.addEventListener("click", function() {
    if (indirizzoPhotos.includes('page')){
    var indirizzoDiviso2 = indirizzoPhotos.split('page');
    var numCorrente2 = indirizzoDiviso2[indirizzoDiviso2.length -1];
    var indirizzoSenzaNum2 = indirizzoDiviso2.splice(0, (indirizzoDiviso2.length -1));
    var newTab = window.open(indirizzoSenzaNum2 + 'page' + (parseInt(numCorrente2, 10) + 1), "_blank");
newTab.blur(); // Mette in background la nuova scheda
window.focus(); // Riporta il focus sulla scheda corrente
    }
    if (!(indirizzoPhotos.includes('page'))){
    window.open(window.location.href + 'page2', "_blank");
    }
});

// funzione chiusura pagina

buttonClose.addEventListener("click", function() {
    window.close();
});
buttonClose2.addEventListener("click", function() {
    window.close();
});

// funzione NEXT 10 PAGES

button10.addEventListener("click", function() {
    if (indirizzoPhotos.includes('page')){
        var indirizzoDiviso = indirizzoPhotos.split('page');
        var numCorrente = indirizzoDiviso[indirizzoDiviso.length -1];
        var numNew = numCorrente;
        var indirizzoSenzaNum = indirizzoDiviso.splice(0, (indirizzoDiviso.length -1));

        if (indirizzoPhotos.indexOf('page') > -1) {
            var numPages = 10;
            var numStart = 1;
            while (numStart <= numPages) {
            var newTab = window.open(indirizzoSenzaNum + 'page' + (parseInt(numCorrente, 10) + (numPages - numStart + 1)), "_blank");
                newTab.blur();
                window.focus();
                numStart = numStart + 1;
            }

            button10.innerHTML = "__";
        }
    }
    if (!(indirizzoPhotos.includes('page'))){
        var indirizzoB = indirizzoPhotos + 'page1';
        var indirizzoDivisoB = indirizzoB.split('page');
        var numCorrenteB = indirizzoDivisoB[indirizzoDivisoB.length -1];
        var numNewB = numCorrenteB;
        var indirizzoSenzaNumB = indirizzoDivisoB.splice(0, (indirizzoDivisoB.length -1));

        if (indirizzoPhotos.indexOf('page') > -1) {
            var numPagesB = 10;
            var numStartB = 1;
            while (numStartB <= numPagesB) {
            var newTabB = window.open(indirizzoSenzaNumB +'page'+(parseInt(numCorrenteB, 10)+(numPagesB - numStartB + 1)), "_blank");
                newTabB.blur();
                window.focus();
                numStartB = numStartB + 1;
            }
            button10.innerHTML = "__";
        }
    }
});

// funzione NEXT PAGES prompt

button1.addEventListener("click", function() {
    if (indirizzoPhotos.includes('page')){
        var indirizzoDiviso = indirizzoPhotos.split('page');
        var numCorrente = indirizzoDiviso[indirizzoDiviso.length -1];
        var numNew = numCorrente;
        var indirizzoSenzaNum = indirizzoDiviso.splice(0, (indirizzoDiviso.length -1));


        if (indirizzoPhotos.indexOf('page') > -1) {
            var numPages = prompt("how many pages to open?");
            var numStart = 1;
            while (numStart <= numPages) {
            var newTab = window.open(indirizzoSenzaNum +'page'+(parseInt(numCorrente, 10)+ (numPages - numStart + 1)), "_blank");
                newTab.blur();
                window.focus();
                numStart = numStart + 1;
        }

        button1.innerHTML = "...opened";
        }

    }
    if (!(indirizzoPhotos.includes('page'))){
        var indirizzo = indirizzoPhotos + 'page1';
        var indirizzoDiviso = indirizzo.split('page');
        var numCorrente = indirizzoDiviso[indirizzoDiviso.length -1];
        var numNew = numCorrente;
        var indirizzoSenzaNum = indirizzoDiviso.splice(0, (indirizzoDiviso.length -1));

        if (indirizzo.indexOf('page') > -1) {
            var numPages = prompt("how many pages to open?");
            var numStart = 1;
            while (numStart <= numPages) {
            var newTab = window.open(indirizzoSenzaNum +'page'+(parseInt(numCorrente, 10)+(numPages - numStart + 1)), "_blank");
                newTab.blur();
                window.focus();
                numStart = numStart + 1;
            }
        button1.innerHTML = "...opened";
        }
    }

});


// funzione apri in background al primo click e chiudi la pagina al secondo click

var numeroClick = 0;

function gestoreClick() {
    // Incrementa il contatore di click
    numeroClick++;

    // Determina quale funzione eseguire in base al numero di click
    if (numeroClick === 1) {

    buttonSW.innerHTML = "1 OPENED<br>2 close this page";

    if (indirizzoPhotos.includes('page')){
    var indirizzoDiviso2 = indirizzoPhotos.split('page');
    var numCorrente2 = indirizzoDiviso2[indirizzoDiviso2.length -1];
    var indirizzoSenzaNum2 = indirizzoDiviso2.splice(0, (indirizzoDiviso2.length -1));
    var newTab = window.open(indirizzoSenzaNum2 + 'page' + (parseInt(numCorrente2, 10) + 1), "_blank");
    newTab.blur(); // Mette in background la nuova scheda
    window.focus(); // Riporta il focus sulla scheda corrente
    }
    if (!(indirizzoPhotos.includes('page'))){
    window.open(window.location.href + 'page2', "_blank");
    }

    } else if (numeroClick === 2) {

        window.close();

        // Resettare il contatore dopo il secondo click
        numeroClick = 0;
    }

}

buttonSW.addEventListener('click', gestoreClick);


// BARRA _________________________________________________________________

    //AGGIUNTA DUPLICA BARRA

        // Trova l'elemento della barra delle pagine esistente
        var existingPager = document.querySelector('.pagination-view'); // Sostituisci con il selettore CSS corretto

        // Verifica se l'elemento è stato trovato
        if (existingPager) {
            // Clona l'elemento della barra delle pagine
            var duplicatedPager = existingPager.cloneNode(true);

    var magicToolbar = document.querySelector('.fluid-magic-toolbar');

    // Assicurati che l'elemento sia stato trovato prima di procedere
    if (magicToolbar) {
        // Inserisci duplicatedPager prima di magicToolbar
        magicToolbar.parentNode.insertAdjacentElement('beforebegin', duplicatedPager);
    } else {
        // L'elemento con la classe .fluid-magic-toolbar non è stato trovato
        // Puoi gestire questo caso a tua discrezione.
    }
        }

        //FINE AGGIUNTA DUPLICA BARRA