Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Extended Who's Online
- // @namespace http://foxscotch.us/
- // @version 1.0
- // @description Script that places all pages of the BLF Who's Online list onto one page.
- // @author Foxscotch
- // @match http://forum.blockland.us/*
- // @grant none
- // ==/UserScript==
- var includeGuests = true;
- var automatic = false;
- var createParameterDict = function () {
- var parameters = {};
- var paramsWithValues = window.location.search.slice(1).split(';');
- for (var i = 0; i < paramsWithValues.length; i++) {
- var paramThenValue = paramsWithValues[i].split('=');
- if (paramThenValue[1]) {
- parameters[paramThenValue[0]] = paramThenValue[1];
- }
- else {
- parameters[paramThenValue[0]] = true;
- }
- }
- return parameters;
- };
- var parameters = createParameterDict();
- function addTable () {
- var newUserTable = this.response.getElementsByTagName('table')[2].children[0];
- for (var j = 1; j < newUserTable.children.length - 1 ; j++) {
- var currentEntry = newUserTable.children[j];
- if (currentEntry.children[0].children[0].innerHTML != 'Guest') {
- userTable.insertBefore(currentEntry, pagination);
- }
- }
- }
- function removeGuests () {
- for (var i = 1; i < userTable.children.length - 1; i++) {
- if (userTable.children[i].children[0].children[0].innerHTML == 'Guest') {
- userTable.removeChild(userTable.children[i]);
- }
- }
- };
- if (parameters.action == 'who') {
- var userTable = document.getElementsByTagName('table')[2].children[0];
- var pageCount = Number(document.getElementsByClassName('navPages')[document.getElementsByClassName('navPages').length - 1].innerHTML);
- var pagination = userTable.children[userTable.children.length - 1];
- var url = String(window.location);
- if (parameters.start) {
- url = url.replace(/;?start=[\d]+/, '');
- }
- for (var i = 2; i <= pageCount; i++) {
- var request = new XMLHttpRequest();
- request.responseType = 'document';
- request.onload = addTable;
- request.open('GET', url + ';start=' + ((i - 2) * 30));
- request.send();
- }
- window.onload = removeGuests;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement