Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Расширения для Firefox/Mozilla Firefox Extensions (часть 9)

Модерирует : gyra, Maz

Maz (02-04-2019 17:51): Переезжаем: Расширения для Firefox/Mozilla Firefox Extensions (часть 10)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

gyra

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
// ==UserScript==
// @name ru-board_online
// @include     http://forum.ru-board.com/*
// @run-at document-start
// ==/UserScript==
this.whosonline = ({
    autoHighlight: false,
    url: '/whosonline.cgi',
    load: function () {
        if(this.xmlHttp) return;
        try {
            this.xmlHttp = new XMLHttpRequest()
            if(this.xmlHttp.overrideMimeType && this.method == 'POST') this.xmlHttp.overrideMimeType('text/html')
        } catch(e) {
            var msv = ["Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]
            for(var j = 0; j <= msv.length; j++) {
                try {
                    this.xmlHttp = new ActiveXObject(msv[j])
                    break
                } catch(e) {}
            }
            if(!this.xmlHttp) return false
        }
        var self = this
        this.xmlHttp.onreadystatechange = function () {
                if(self.xmlHttp.readyState == 4) {
                    self.processResponse(self.xmlHttp.responseText)
                    self.xmlHttp = null;
                }
            }
        this.xmlHttp.open("GET", this.url + '?timestamp=' + Math.floor(new Date().valueOf() / 60000), true);
        this.xmlHttp.send(null);
    },
    processResponse: function (text) {
        var users = {};
        text.replace(/<a href="profile\.cgi\?action=show&member=.*?">(.*?)<\/a>/g, function (a, b) {
            users[b] = true;
        });
        this.users = users;
        this.autoHighlight && this.highlightUsers();
    },
    highlightUsers: function () {
        if(!this.users) {
            this.autoHighlight = true;
            if(!this.xmlHttp) {
                this.load();
            }
            return;
        }
        try {
            var elements = document.getElementsByTagName('B');
            for(var i = 0; i < elements.length; i++) {
                if(elements[i].parentNode.className == 'm' && this.users[elements[i].textContent]) {
                    var status = document.createElement('img');
                    status.style.width='16px';
                    status.style.height='16px';
                    status.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB7UlEQVR4nG2TP25TQRCHv5l9f3AoIgRCUHAC+ki0qd8xohQRtNwgLR1KsHICqhQ+BGVqDkBN4ufE761nhmJtx07Y1Uq7q53fzH4zI+efznk6FEUQiHKOzZR49rbaPchmxna3J+DhBMH6el9AEBRFQ1GUFAmJEoXjmBgIhBShjUj11LiiorWW2muSJyKCLJlRRnLKrGSFqBBRInkUWBtPbML08zTlg3xitXUejixlVvXV1en3U4uqcDA1CNANMEVpvWX6ZZqGV8P1w9uHy/59383fzbv+TX95f3h/fXF2kapVVRiF7H8hRaKxhnyQT4bDoVu8XjAcDLg52iqrvOpYcpLG9ENUCgMB3VDXUNSVXOdubEeGycDwcr1eDAztwJjGTkzA2UaxzUIQEBBRKLs7Zoabg4O7F/pPSkGdklvHyWT0QWcyF/ROSX8Teqtl9YoudWZie4VVbbwbxqADqU9Xdaq71tqOpnjWXmlv21mzbK5ynfHkoCWCdPzhGKSAdHGOfh3FzcebnzLKn7RINHfN73befpssJl/PLs7MGiNSEFr+Ipte0FDEheSJalWhWVHTwkSdnDJWG14V7yE7hQTg4oiW3Hq93vsasBSR0NgzftZMIYGplSIRHomvc77txv81005LEgQispeyXa+74x/gbhaLySOftQAAAABJRU5ErkJggg==';
                    status.title='User online';
                    elements[i].parentNode.appendChild(status);
                } else if(elements[i].parentNode.className == 'm' && !this.users[elements[i].textContent]) {
                    var status = document.createElement('img');
                    status.style.width='16px';
                    status.style.height='16px';
                    status.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABjUlEQVR4nKVTQY4TMRAsd3vszGYlkJC45Qd8IH/wgUfkwIEzz+CGxEp5AScOeQRv4AEcWZRs8MRjd3OJR56dIA601LLc7SqXym2z3W7xP2H/1lDVm3VjzL8JVHXKNogIqjojWRCoKkQEqopSygSooOck9hb4fc68TmnX5RxUBJHocGLef+q60nUdmHkimRFU8Kth+PoixtCnBBHBiShY58K71ertZ6AAmEhsC1ZVrFPavYwxvD6fcXe5QESwIkL2PpyB3Uj0wMwgIhhjQK2CUgpczuEuJawvF9zHiPsYsR4GrIYBNqVQfakGTwpqUa7mSSkoIhARFABSCuS6b19npsAYg2jM4UiER2b8vOYvZpyYMRAdqvTFM9bGydo9OxfGnIO/3vzEjEfvD7+d21tr0ZLwZrOZzcE3QN8Y82Uw5sfZWhyd+370/uNT33946PvivUdromn/Qh2ecRyRc8Y4jlBVEBGstXDO4bmCxSQy87R2XTd5Y4yZ3bzwoB6s4Apoe+1I3yRoDxPRonYr/gBFPtmRFHFB2gAAAABJRU5ErkJggg==';
                    status.title='User offline';
                    elements[i].parentNode.appendChild(status);
                }
            }
        } catch(e) {
            alert(e.message);
        }
    },
    run: function () {
        return this;
    }
}).run();
whosonline&&(whosonline.load(),window.onload=function(){whosonline.highlightUsers();});

Всего записей: 7932 | Зарегистр. 18-02-2006 | Отправлено: 11:58 14-11-2017
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Расширения для Firefox/Mozilla Firefox Extensions (часть 9)
Maz (02-04-2019 17:51): Переезжаем: Расширения для Firefox/Mozilla Firefox Extensions (часть 10)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru