Registration date in VK

Registration date in VK profile

目前為 2016-11-28 提交的版本,檢視 最新版本

// ==UserScript==
// @name            Registration date in VK
// @name:ru         Дата регистрации в VK
// @namespace       FIX
// @version         0.2
// @description     Registration date in VK profile
// @description:ru  Показ даты регистрации в профиле VK
// @author          raletag
// @copyright       2016, raletag
// @include         *://vk.com/*
// @exclude         *://vk.com/notifier.php*
// @exclude         *://vk.com/*widget*.php*
// @grant           GM_xmlhttpRequest
// @run-at          document-end
// ==/UserScript==

(function() {
    'use strict';
    var month = ['0', 'января', 'ферваля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'];
    function error () {
        console.error('GET registration date in VK ERROR!');
    }
    function f () {
        var a = document.body.querySelector('#profile_short:not([vrd]'), b, c, d, id;
        if (!a) return;
        b = document.body.querySelector('a.page_actions_item[onclick*="abuse"]');
        c = document.body.querySelector('a.stats[href*="/stats"]');
        id = ((b && b.getAttribute('onclick').match(/oid: (\d+)}/i))||(c && c.href.match(/mid=(\d+)/i))||[])[1];
        if (!id) return;
        a.setAttribute('vrd', '1');
        d = new XMLHttpRequest();
        d.onload = function () {
            var xd = (this.responseText.match(/ya:created dc:date="(.+)T/i)||[])[1], ad, div;
            if (xd) {
                ad = xd.split('-');
                div = document.createElement ('div');
                div.className = 'clear_fix profile_info_row';
                div.innerHTML = '<div class="label fl_l">Дата регистрации:</div><div class="labeled">' + ad[2] + ' ' + month[parseInt(ad[1])] + ' ' + ad[0] + ' г.</div>';
                a.insertBefore(div, a.firstChild);
            } else error ();
        };
        d.onerror = error;
        d.timeout = 10000;
        d.open('GET', '/foaf.php?id=' + id, true);
        d.send();
    }
    new MutationObserver(f).observe(document.body, {childList: true, subtree: true});
})();