Overall Stat Number on team page

From the team page will pull overal numerical ranking of each team on schedule

当前为 2014-05-21 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Overall Stat Number on team page
  3. // @namespace DDCUnderground - Greasemonkey
  4. // @description From the team page will pull overal numerical ranking of each team on schedule
  5. // @include http://goallineblitz.com/game/team.pl?team_id=*
  6. // @include http://glb.warriorgeneral.com/game/team.pl?team_id=*
  7. // @version 0.0.1.20140521183515
  8. // ==/UserScript==
  9. /*
  10. * pabst was here 08/26/08
  11. */
  12. var timeout = 2000;
  13.  
  14. function getElementsByClassName(classname, par){
  15. var a=[];
  16. var re = new RegExp('\\b' + classname + '\\b');
  17. var els = par.getElementsByTagName("*");
  18. for(var i=0,j=els.length; i<j; i++) {
  19. if(re.test(els[i].className)) {
  20. a.push(els[i]);
  21. }
  22. }
  23. return a;
  24. };
  25.  
  26. function getStat(teampath, i, hoa) {
  27. GM_xmlhttpRequest( {
  28. method: 'GET',
  29. url: '' + teampath,
  30. headers: {
  31. 'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
  32. 'Accept': 'application/atom+xml,application/xml,text/xml',
  33. },
  34. onload: function(opteam) {
  35. var div = document.createElement("div");
  36. div.innerHTML = opteam.responseText.replace(/<img/g,"<div").replace(/\/img/g,"/div>");
  37.  
  38. var ratings = getElementsByClassName("rating_bar_fill", div);
  39. var stat1 = parseInt(ratings[0].innerHTML);
  40. var stat2 = parseInt(ratings[8].innerHTML);
  41. var spread = stat1 - stat2;
  42. if (spread > 0) {
  43. spread = '+' + spread;
  44. }
  45. var opponententry=document.getElementsByClassName("schedule_date_value");
  46. var portion1end = opponententry[i].parentNode.innerHTML.indexOf('</a>');
  47. portion1end = portion1end + 4;
  48. var portion1str = opponententry[i].parentNode.innerHTML.substr(0,portion1end);
  49. var portion2end = opponententry[i].parentNode.innerHTML.length;
  50. var portion2str = opponententry[i].parentNode.innerHTML.substring(portion1end,portion2end);
  51. opponententry[i].parentNode.innerHTML = portion1str + '(' + stat2 + ') ' + '(' + spread + ')' + portion2str;
  52. }
  53. });
  54. }
  55.  
  56.  
  57.  
  58.  
  59. window.setTimeout( function() {
  60. var opponentheader=document.getElementsByClassName('schedule_opponent');
  61. opponentheader[0].innerHTML = opponentheader[0].innerHTML + ' (Overall)(Spread)';
  62. var localteamid = (window.location+"").indexOf("team_id=")+"team_id=".length;
  63. localteamid = (window.location+"").slice(localteamid);
  64.  
  65. var opponent=document.getElementsByClassName("schedule_date_value");
  66. for (var i = 0; i < opponent.length; i++) {
  67. rowdata = opponent[i].parentNode.innerHTML.split('<td>');
  68. var startpos = rowdata[2].indexOf("/game/compare");
  69. if (startpos!=(-1)) {
  70. var stoppos = rowdata[2].indexOf('"',(startpos+1));
  71. var teampath = rowdata[2].slice(startpos,stoppos);
  72. teampath = teampath.replace("&amp;","&");
  73. getStat(teampath, i, opponent[i].parentNode.className.slice(opponent[i].parentNode.className.length-1));
  74. }
  75. else {
  76. startpos = (rowdata[1].indexOf('team.pl?team_id=') + 16);
  77. var stoppos = rowdata[1].indexOf('"',(startpos+1));
  78. var teampath = rowdata[1].slice(startpos,stoppos);
  79. getStat('/game/compare_teams.pl?team1=' + localteamid + '&team2=' + teampath, i,opponent[i].parentNode.className.slice(opponent[i].parentNode.className.length-1));
  80. }
  81. }
  82. },timeout);
  83.  
  84.  
  85.