Facebook
From Jittery Guinea Pig, 6 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 61
  1. // ==UserScript==
  2. // @name         online na stronie klan
  3. // @author       hunti
  4. // @description  online na stronie klanu
  5. // @match        *://www.margonem.pl/?task=clanpage&id=*&w=*
  6. // ==/UserScript==
  7. (() => {
  8.    new class {
  9.       constructor() {
  10.          this.w = location.search.split(`w=`)[1], this.url =
  11.             `?task=stats`, this.parser = new DOMParser
  12.       }
  13.       async init() {
  14.          const b = [];
  15.          for(let a of document.getElementsByTagName(`tr`))
  16.             `undefined` != typeof a.className && -1 < a
  17.             .className.indexOf(`row`) && b.push({
  18.                nick: a.children[1].textContent
  19.             });
  20.          b.length && this.isOnline(b)
  21.       }
  22.       async isOnline(b) {
  23.          const a = await fetch(this.url),
  24.             c = await a.text(),
  25.             d = this.parser.parseFromString(c, `text/html`);
  26.          let e = 0,
  27.             f = 0;
  28.          for(const {
  29.                nick: a
  30.             } of b) {
  31.             let b = !1;
  32.             e++;
  33.             const c = d.querySelector(`#online_${this.w} p`);
  34.             !0 == this.isOnlineCheck(a, c) && (b = !0, f++),
  35.                this.setOnline(e, b)
  36.          }
  37.          this.calculate(e, f)
  38.       }
  39.       isOnlineCheck(b, a) {
  40.          return a.innerHTML.trim()
  41.             .split(`, `)
  42.             .includes(b)
  43.       }
  44.       setOnline(b, a) {
  45.          let c = document.createElement(`td`),
  46.             d = `offline`;
  47.          c.innerHTML =
  48.             `<span style="color:red"><center>offline</center></span>`,
  49.             !0 == a && (d = `online`, c.innerHTML =
  50.                `<span style="color:green"><center>online</center></span>`
  51.                );
  52.          let e = document.getElementById(`ranking`)
  53.             .getElementsByTagName(`tr`)[b];
  54.          e.append(c), e.classList.add(d)
  55.       }
  56.       calculate(b, a) {
  57.          let c = document.createElement(`th`);
  58.          c.innerHTML =
  59.             `<span style="color:green">${a}</span>/<span style="color:red">${+b-+a}</span>|<span style="color:gold">${b}</span>`,
  60.             c.onclick = function () {
  61.                $(`.offline`)
  62.                   .toggle()
  63.             };
  64.          let d = document.getElementById(`ranking`)
  65.             .getElementsByTagName(`tr`)[0];
  66.          d.append(c)
  67.       }
  68.    }()
  69.    .init()
  70. })();

Replies to online na stronie klanowej rss

Title Name Language When
Re: online na stronie klanowej Sweet Cat text 6 Months ago.