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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

RetroRocket



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

Код:
// ==UserScript==
// @name           RU-Board WhosOnline
// @author         Wald + Artyom Shegeda
// @namespace      https://greasyfork.org/ru/scripts/2875-ru-board-whosonline/code
// @include        http*://forum.ru-board.com/*
// @include        http*://72.233.112.78/*
// @icon           http://forum.ru-board.com/favicon.ico
// @description    Highlights users online
// @version        1.6
// @run-at           document-end
// ==/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].innerText]) {
                    var onlinestatus = document.createElement('div');
                    onlinestatus.style.display = 'inline-block';
                    onlinestatus.style.width = '10px';
                    onlinestatus.style.height = '10px';
                    onlinestatus.style.background = '#80FF80';
                    onlinestatus.style.borderTop = '1px solid #c0ffc0';
                    onlinestatus.style.borderLeft = '1px solid #c0ffc0';
                    onlinestatus.style.borderRight = '1px solid #60bf60';
                    onlinestatus.style.borderBottom = '1px solid #60bf60';
                    onlinestatus.style.marginRight = '5px';
                    onlinestatus.title = 'Онлайн';
                    elements[i].parentNode.insertBefore(onlinestatus, elements[i]);
                }
            }
        }
        catch (e) {
            alert(e.message);
        }
    },
    run: function () {
        return this;
    }
}).run();
whosonline && (whosonline.load(), window.onload = function () {
    whosonline.highlightUsers();
});

 
Он же в виде готового файла в формате Base64 (распаковать можно в TotalCommander):
Код:
MIME-Version: 1.0
Content-Type: application/octet-stream; name="ru-board-whosonline.js"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ru-board-whosonline.js"
 
77u/Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICAgIFJVLUJvYXJkIFdob3NPbmxp
bmUKLy8gQGF1dGhvciAgICAgICAgIFdhbGQgKyBBcnR5b20gU2hlZ2VkYQovLyBAbmFtZXNwYWNl
ICAgICAgaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9ydS9zY3JpcHRzLzI4NzUtcnUtYm9hcmQtd2hv
c29ubGluZS9jb2RlCi8vIEBpbmNsdWRlICAgICAgICBodHRwKjovL2ZvcnVtLnJ1LWJvYXJkLmNv
bS8qCi8vIEBpbmNsdWRlICAgICAgICBodHRwKjovLzcyLjIzMy4xMTIuNzgvKgovLyBAaWNvbiAg
ICAgICAgICAgaHR0cDovL2ZvcnVtLnJ1LWJvYXJkLmNvbS9mYXZpY29uLmljbwovLyBAZGVzY3Jp
cHRpb24gICAgSGlnaGxpZ2h0cyB1c2VycyBvbmxpbmUKLy8gQHZlcnNpb24gICAgICAgIDEuNgov
LyBAcnVuLWF0CSAgICAgICBkb2N1bWVudC1lbmQKLy8gPT0vVXNlclNjcmlwdD09Ci8vCnRoaXMu
d2hvc29ubGluZSA9ICh7CiAgICBhdXRvSGlnaGxpZ2h0OiBmYWxzZSwKICAgIHVybDogJy93aG9z
b25saW5lLmNnaScsCiAgICBsb2FkOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKHRoaXMueG1s
SHR0cCkgcmV0dXJuOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHRoaXMueG1sSHR0cCA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpCiAgICAgICAgICAgIGlmICh0aGlzLnhtbEh0dHAub3ZlcnJpZGVN
aW1lVHlwZSAmJiB0aGlzLm1ldGhvZCA9PSAnUE9TVCcpIHRoaXMueG1sSHR0cC5vdmVycmlkZU1p
bWVUeXBlKCd0ZXh0L2h0bWwnKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKGUpIHsKICAgICAg
ICAgICAgdmFyIG1zdiA9IFsiTXN4bWwyLlhNTEhUVFAuNy4wIiwgIk1zeG1sMi5YTUxIVFRQLjYu
MCIsICJNc3htbDIuWE1MSFRUUC41LjAiLCAiTXN4bWwyLlhNTEhUVFAuNC4wIiwgIk1TWE1MMi5Y
TUxIVFRQLjMuMCIsICJNU1hNTDIuWE1MSFRUUCIsICJNaWNyb3NvZnQuWE1MSFRUUCJdCiAgICAg
ICAgICAgIGZvciAodmFyIGogPSAwOyBqIDw9IG1zdi5sZW5ndGg7IGorKykgewogICAgICAgICAg
ICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICB0aGlzLnhtbEh0dHAgPSBuZXcgQWN0aXZl
WE9iamVjdChtc3Zbal0pCiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7fQogICAgICAgICAgICB9CiAgICAgICAgICAg
IGlmICghdGhpcy54bWxIdHRwKSByZXR1cm4gZmFsc2UKICAgICAgICB9CiAgICAgICAgdmFyIHNl
bGYgPSB0aGlzCiAgICAgICAgdGhpcy54bWxIdHRwLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0
aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmIChzZWxmLnhtbEh0dHAucmVhZHlTdGF0ZSA9PSA0
KSB7CiAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm9jZXNzUmVzcG9uc2Uoc2VsZi54bWxIdHRw
LnJlc3BvbnNlVGV4dCkKICAgICAgICAgICAgICAgICAgICBzZWxmLnhtbEh0dHAgPSBudWxsOwog
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgdGhpcy54bWxIdHRwLm9wZW4o
IkdFVCIsIHRoaXMudXJsICsgJz90aW1lc3RhbXA9JyArIE1hdGguZmxvb3IobmV3IERhdGUoKS52
YWx1ZU9mKCkgLyA2MDAwMCksIHRydWUpOwogICAgICAgIHRoaXMueG1sSHR0cC5zZW5kKG51bGwp
OwogICAgfSwKICAgIHByb2Nlc3NSZXNwb25zZTogZnVuY3Rpb24gKHRleHQpIHsKICAgICAgICB2
YXIgdXNlcnMgPSB7fTsKICAgICAgICB0ZXh0LnJlcGxhY2UoLzxhIGhyZWY9InByb2ZpbGVcLmNn
aVw/YWN0aW9uPXNob3cmbWVtYmVyPS4qPyI+KC4qPyk8XC9hPi9nLCBmdW5jdGlvbiAoYSwgYikg
ewogICAgICAgICAgICB1c2Vyc1tiXSA9IHRydWU7CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy51
c2VycyA9IHVzZXJzOwogICAgICAgIHRoaXMuYXV0b0hpZ2hsaWdodCAmJiB0aGlzLmhpZ2hsaWdo
dFVzZXJzKCk7CiAgICB9LAogICAgaGlnaGxpZ2h0VXNlcnM6IGZ1bmN0aW9uICgpIHsKICAgICAg
ICBpZiAoIXRoaXMudXNlcnMpIHsKICAgICAgICAgICAgdGhpcy5hdXRvSGlnaGxpZ2h0ID0gdHJ1
ZTsKICAgICAgICAgICAgaWYgKCF0aGlzLnhtbEh0dHApIHsKICAgICAgICAgICAgICAgIHRoaXMu
bG9hZCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAg
ICAgdHJ5IHsKICAgICAgICAgICAgdmFyIGVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoJ0InKTsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50cy5s
ZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGVsZW1lbnRzW2ldLnBhcmVudE5vZGUu
Y2xhc3NOYW1lID09ICdtJyAmJiB0aGlzLnVzZXJzW2VsZW1lbnRzW2ldLmlubmVyVGV4dF0pIHsK
ICAgICAgICAgICAgICAgICAgICB2YXIgb25saW5lc3RhdHVzID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CiAgICAgICAgICAgICAgICAgICAgb25saW5lc3RhdHVzLnN0eWxlLmRpc3Bs
YXkgPSAnaW5saW5lLWJsb2NrJzsKICAgICAgICAgICAgICAgICAgICBvbmxpbmVzdGF0dXMuc3R5
bGUud2lkdGggPSAnMTBweCc7CiAgICAgICAgICAgICAgICAgICAgb25saW5lc3RhdHVzLnN0eWxl
LmhlaWdodCA9ICcxMHB4JzsKICAgICAgICAgICAgICAgICAgICBvbmxpbmVzdGF0dXMuc3R5bGUu
YmFja2dyb3VuZCA9ICcjODBGRjgwJzsKICAgICAgICAgICAgICAgICAgICBvbmxpbmVzdGF0dXMu
c3R5bGUuYm9yZGVyVG9wID0gJzFweCBzb2xpZCAjYzBmZmMwJzsKICAgICAgICAgICAgICAgICAg
ICBvbmxpbmVzdGF0dXMuc3R5bGUuYm9yZGVyTGVmdCA9ICcxcHggc29saWQgI2MwZmZjMCc7CiAg
ICAgICAgICAgICAgICAgICAgb25saW5lc3RhdHVzLnN0eWxlLmJvcmRlclJpZ2h0ID0gJzFweCBz
b2xpZCAjNjBiZjYwJzsKICAgICAgICAgICAgICAgICAgICBvbmxpbmVzdGF0dXMuc3R5bGUuYm9y
ZGVyQm90dG9tID0gJzFweCBzb2xpZCAjNjBiZjYwJzsKICAgICAgICAgICAgICAgICAgICBvbmxp
bmVzdGF0dXMuc3R5bGUubWFyZ2luUmlnaHQgPSAnNXB4JzsKCQkJCQlvbmxpbmVzdGF0dXMudGl0
bGUgPSAn0J7QvdC70LDQudC9JzsKICAgICAgICAgICAgICAgICAgICBlbGVtZW50c1tpXS5wYXJl
bnROb2RlLmluc2VydEJlZm9yZShvbmxpbmVzdGF0dXMsIGVsZW1lbnRzW2ldKTsKICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCAoZSkgewogICAg
ICAgICAgICBhbGVydChlLm1lc3NhZ2UpOwogICAgICAgIH0KICAgIH0sCiAgICBydW46IGZ1bmN0
aW9uICgpIHsKICAgICAgICByZXR1cm4gdGhpczsKICAgIH0KfSkucnVuKCk7Cndob3NvbmxpbmUg
JiYgKHdob3NvbmxpbmUubG9hZCgpLCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewogICAg
d2hvc29ubGluZS5oaWdobGlnaHRVc2VycygpOwp9KTs=
 

Всего записей: 2685 | Зарегистр. 02-01-2018 | Отправлено: 12:01 11-03-2020
Открыть новую тему     Написать ответ в эту тему

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Opera на движке Presto (часть 27)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru