MediaWiki:Gadget-patrollinks.js

Izvor: Wikiknjige

Napomena: Nakon snimanja, trebate očistiti memoriju svog programa za Internet kako biste odmah vidjeli promjene: Mozilla: kliknite reload (ili ctrl-r), IE / Opera: ctrl-f5, Safari: cmd-r, Konqueror ctrl-r.

// Copied from http://en.wikipedia.org/wiki/User:Bradv/AjaxPatrolLinks.js
function CVU_ajaxPatrolLinks() {
    var a = document.evaluate('//div[@class="patrollink"]/a', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ).singleNodeValue;
    if (a) {
        var div = a.parentNode;
        var url = a.href;
        a.onclick = function (event) {
            var aj = sajax_init_object();
            if (aj) {
                while (div.firstChild) { div.removeChild(div.firstChild) };
                div.appendChild(document.createTextNode('[Označavam kao pregledano...]'));
                aj.onreadystatechange = function () {
                    if (aj.readyState == 4 && aj.status == 200) {
                        while (div.firstChild) { div.removeChild(div.firstChild) };
                        div.appendChild(document.createTextNode('[Pregledano]'));
                        aj.onreadystatechange = null;
                        if (CVU_ajaxPatrolLinks_closeafter == true){
                            window.close(); self.close();
                        }
                    }
                }                
                aj.open("GET", url, true);
                aj.send(null);
                return false;
            }
        }
    }
    var b = document.evaluate('//span[@class="patrollink"]/a', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ).singleNodeValue;
    if (b) {
        var div = b.parentNode;
        var url = b.href;
        b.onclick = function (event) {
            var bj = sajax_init_object();
            if (bj) {
                while (div.firstChild) { div.removeChild(div.firstChild) };
                div.appendChild(document.createTextNode('[Označavam kao pregledano...]'));
                bj.onreadystatechange = function () {
                    if (bj.readyState == 4 && bj.status == 200) {
                        while (div.firstChild) { div.removeChild(div.firstChild) };
                        div.appendChild(document.createTextNode('[Pregledano]'));
                        bj.onreadystatechange = null;
                        if (CVU_ajaxPatrolLinks_closeafter == true){
                            window.close(); self.close();
                        }
                    }
                }                
                bj.open("GET", url, true);
                bj.send(null);
                return false;
            }
        }
    }
}
$(CVU_ajaxPatrolLinks);