Apina.biz improved

Browse apina.biz with full-sized images. Plus other tweaks.

Versione datata 09/09/2014. Vedi la nuova versione l'ultima versione.

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

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

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name        Apina.biz improved
// @namespace   Rennex/apina.biz
// @description Browse apina.biz with full-sized images. Plus other tweaks.
// @include     http://apina.biz/*
// @version     2.1
// @run-at      document-start
// @grant       none
// ==/UserScript==

var m
if (m = location.href.match(/apina\.biz\/(\d+\.(jpg|gif|png))/)) {
    // we've somehow landed on the zoom-in page (from an external link?)
    // -> redirect to the picture
    location.replace("http://termite.apcdn.com/full/" + m[1])
}
// also remove that ?ref=randoms bullshit from the address bar
if (m = location.href.match(/apina\.biz\/(.+)\?ref=randoms/)) {
    history.replaceState(null, "", m[1])
}

// hide the picture before it even starts loading
var head = document.querySelector("head")
// (can the head still be non-existent at this point?)
//if (!head) { alert("headless") }
var style = document.createElement("style")
style.type = "text/css"
style.innerHTML = "#big_image { display: none; }"
head.appendChild(style)

// call this when the DOM has loaded
addEventListener("DOMContentLoaded", function () {
    // if we are in the image browsing mode, viewing a medium-sized image,
    // this will find an element
    var m, img, a = document.querySelector("#big_image a")
    if (a) {
        if (m = a.href.match(/\/\d+[^\/]+$/)) {
            // fix the link to point directly to the image
            a.href = "http://termite.apcdn.com/full" + m[0]
            // and remove that annoying title popup while we're at it
            a.removeAttribute("title")

            // change the img element to use the full-sized image and appear wider
            img = a.querySelector("img")
            if (img) {
                // seems that we have to remove this image and create a new one,
                // to prevent it from visibly growing moments later
                a.removeChild(img)

                // re-enable displaying the div
                head.removeChild(style)

                // create the new image element
                img = new Image()
                img.src = a.href
                img.style = "max-width: 100%"
                a.appendChild(img)
            }

        }
    }
}, false)