您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
sdfsdf
// ==UserScript== // @name GLB Offered Contract Sort // @namespace pbr // @include http://goallineblitz.com/game/team_offers.pl?team_id=* // @copyright 2008, pabst // @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html // @version 09.04.01 // @description sdfsdf // ==/UserScript== /* * * written by pabst 12/26/08+ * */ var removeConfirmation = false; window.setTimeout( function() { sort_main(); }, 1000 ); function sort_main() { var remove = document.getElementsByClassName("offer"); var contracts = new Array(); for (var i=remove.length-1; i>-1; i--) { contracts[i] = remove[i].parentNode.removeChild(remove[i]); } var positions = new Array(); var levels = new Array(); for (var i=0; i<contracts.length; i++) { var lev = contracts[i].getElementsByTagName("b")[0].innerHTML.split(" ")[1]; var pos = contracts[i].getElementsByTagName("b")[0].innerHTML.split(" ")[2]; positions[i] = pos; levels[i] = lev; } sortTriplet(levels, positions, contracts); var p = ["QB","HB","FB","TE","WR","C","G","OT","DT","DE","LB","CB","SS","FS","K","P"]; for (var i=0; i<p.length; i++) { showPosition(p[i],contracts, positions, levels); } getRosterPage(); } function showPosition(pos, contracts, positions, levels) { var div = document.createElement("div"); div.setAttribute("class","nonalternating_color pbr_positions"); div.setAttribute("style","margin: 5px; clear: both;") div.innerHTML = pos; var div2 = document.createElement("div"); div2.setAttribute("class","offers"); var offerblock = document.getElementById("sent_offers"); for (var i=0; i<positions.length; i++) { if (positions[i] == pos) { div2.appendChild(contracts[i]); } } offerblock.appendChild(div); offerblock.appendChild(div2); } function sortTriplet(arr1, arr2, arr3) { for (var i=0; i<arr1.length-1; i++) { for (var j=i; j<arr1.length; j++) { if (parseFloat(arr1[i]) < parseFloat(arr1[j])) { var temp = arr1[i]; arr1[i] = arr1[j]; arr1[j] = temp; temp = arr2[i]; arr2[i] = arr2[j]; arr2[j] = temp; temp = arr3[i]; arr3[i] = arr3[j]; arr3[j] = temp; } } } } function getRosterPage() { var addr = window.location.href.toString().replace("team_offers","roster"); GM_xmlhttpRequest({ method: 'GET', url: addr, headers: { 'User-agent': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0 Greasemonkey', 'Accept': 'text/xml' }, onload: function(page) { showSignedPlayers(page.responseText); } }); } function showSignedPlayers(page) { var div = document.createElement("div"); div.setAttribute("style","visibility: hidden"); div.innerHTML = page; document.getElementById("footer").appendChild(div); // console.log(page); var pos = document.getElementsByClassName("position"); var lvl = document.getElementsByClassName("player_level"); var headings = document.getElementsByClassName("pbr_positions") for (var i=0; i<headings.length; i++) { var signed = getPositionString(headings[i].innerHTML,pos,lvl); headings[i].innerHTML += ": " + signed.length + " players signed"; headings[i].innerHTML += " ("+signed.sort(sortFunc)+")"; } div.parentNode.removeChild(div); } function sortFunc(a, b) { return a < b; } function getPositionString(pos, positions, levels) { var output = []; for (var i=0; i<positions.length; i++) { var ind = positions[i].innerHTML.indexOf("<"); if (ind != -1) { positions[i].innerHTML = positions[i].innerHTML.slice(0,ind); } //console.log(pos + " |||| "+positions[i].innerHTML); if (pos == positions[i].innerHTML) { output.push(parseInt(levels[i].innerHTML)); } } //console.log(pos+" -- "+output); return output; } unsafeWindow.deleteOffer = function(id) { var teamId = window.location.href.toString(); teamId = teamId.slice(teamId.indexOf("=")+1); if (removeConfirmation == false) { if (confirm("Really delete this offer?")) { unsafeWindow.redirectTo('/game/team_offers.pl?team_id=' + teamId + '&delete_offer=' + id); } } else { var iframe = document.createElement("frame"); iframe.setAttribute("id","iframe_"+id); iframe.setAttribute("style","visibility: hidden;"); iframe.setAttribute("src",'/game/team_offers.pl?team_id=' + teamId + '&delete_offer=' + id); document.getElementById("footer").appendChild(iframe); var links = document.links; for (var i=0; i<links.length; i++) { var onclick = links[i].getAttribute("onclick"); if (onclick == "deleteOffer('"+id+"')") { links[i].innerHTML = "Deleting ..."; break; } } deletionDelay(id); } } function deletionDelay(id) { var done = false; var iframe = document.getElementById("iframe_"+id); if (iframe != null) { try { var footer = iframe.contentDocument.getElementById("footer"); if (footer != null) { done = true; } } catch (e) { done = true; } } if (done == false) { setTimeout(function() { deletionDelay(id); }, 1000); } else { if (iframe == null) console.log("why is iframe null?"); iframe.parentNode.removeChild(iframe); var links = document.links; for (var i=0; i<links.length; i++) { var onclick = links[i].getAttribute("onclick"); if (onclick == "deleteOffer('"+id+"')") { var container = links[i].parentNode.parentNode; container.parentNode.removeChild(container); break; } } } }