MediaWiki:Gadget-patrollinks.js

Napomena: Nakon objave možda ćete trebati očistiti međuspremnik svog preglednika kako biste vidjeli promjene.

  • Firefox / Safari: držite Shift i pritisnite Reload, ili pritisnite bilo Ctrl-F5 ili Ctrl-R (⌘-R na Macu)
  • Google Chrome: pritisnite Ctrl-Shift-R (⌘-Shift-R na Macu)
  • Internet Explorer / Edge: držite Ctrl i kliknite Refresh, ili pritisnite Ctrl-F5
  • Opera: pritisnite Ctrl-F5.
// 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) {
        	if(typeof sajax_init_object === 'undefined') return;
            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) {
        	if(typeof sajax_init_object === 'undefined') return;
            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);