您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
sorts camwhores descending by viewers
当前为
// ==UserScript== // @name Chaturbate sort // @namespace Lurk4 // @author itsmewantscaps // @description sorts camwhores descending by viewers // @include https://chaturbate.com/* // @include https://www.chaturbate.com/* // @version 1 // @grant GM_addStyle // @run-at document-end // ==/UserScript== function sortCamwhores() { var i var elems var camsinfo var res = null var mainList = null var contentHolder = document.getElementsByClassName("list"); if (contentHolder !== null && contentHolder.length > 0) { for (i = 0; i < contentHolder.length; i++) { res = []; mainList = contentHolder[i]; elems = mainList.getElementsByClassName("cams"); for (j = elems.length-1; j >= 0 ; j--) { camsinfo = elems[j].innerText.match(/(\d+) min.*, (\d+) viewer.*\b/); res.push({ "element": elems[j].parentElement.parentElement.parentElement, "viewers": camsinfo !== null && camsinfo.length > 2 ? camsinfo[2] : 0 }); mainList.removeChild(elems[j].parentElement.parentElement.parentElement); } res.sort(function(a, b) { return b.viewers - a.viewers; }); for (j = 0; j < res.length; j++) { mainList.appendChild(res[j].element); } } } } sortCamwhores() ; //https://stackoverflow.com/questions/3219758/detect-changes-in-the-dom var observeDOM = (function(){ var MutationObserver = window.MutationObserver || window.WebKitMutationObserver, eventListenerSupported = window.addEventListener; return function(obj, callback){ if( MutationObserver ){ // define a new observer var obs = new MutationObserver(function(mutations, observer){ if( mutations[0].addedNodes.length || mutations[0].removedNodes.length ) { callback( observer); } }); // have the observer observe foo for changes in children obs.observe( obj, { childList:true, subtree:true }); } else if( eventListenerSupported ){ obj.addEventListener('DOMNodeInserted', callback, false); obj.addEventListener('DOMNodeRemoved', callback, false); } }; })(); observeDOM( document.getElementById('main') ,function( observer){ observer.disconnect(); sortCamwhores() ; observer.observe( document.getElementById('main') , { childList:true, subtree:true }); });