Apina.biz improved

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

Από την 09/09/2014. Δείτε την τελευταία έκδοση.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey, το Greasemonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

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

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Userscripts για να εγκαταστήσετε αυτόν τον κώδικα.

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

Θα χρειαστεί να εγκαταστήσετε μια επέκταση διαχείρισης κώδικα χρήστη για να εγκαταστήσετε αυτόν τον κώδικα.

(Έχω ήδη έναν διαχειριστή κώδικα χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Έχω ήδη έναν διαχειριστή στυλ χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

// ==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)