Add prices (from Futbin) features on Futhead

Show Futbin Link and Price on FutHead Player page

当前为 2016-10-31 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Add prices (from Futbin) features on Futhead
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.3
  5. // @description Show Futbin Link and Price on FutHead Player page
  6. // @author Syntaxlb
  7. // @match http://www.futhead.com/17/*/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. function processFutbin()
  15. {
  16.  
  17. var search = $('.font-16.fh-red a').text();
  18.  
  19. var rating = $('.player-cards > .playercard .playercard-rating').text();
  20. var position = $('.player-cards > .playercard .playercard-position').text();
  21. var url = 'http://xbox-store-checker.com/fr/fut/api/futbin.json';
  22. $.ajax({
  23. url: url,
  24. async: true,
  25. dataType: 'json',
  26. data: 'name=' + search + '&rating=' + rating + '&position=' + position,
  27. type: 'get',
  28. crossDomain: true,
  29. success: function (data){
  30. var buttonFutbin = $('<a></a>').attr('class', 'btn btn-futhead btn-full').attr('href', data.url).attr('target', '_blank').text(search + ' sur FUTBIN');
  31. buttonFutbin.insertBefore($('.new-topic.btn-futhead'));
  32. $('.ps-bin-band span').text(data.price_ps);
  33. $('.xb-bin-band span').text(data.price_xbox);
  34. },
  35. error: function(e, textStatus)
  36. {
  37. console.log('error');
  38. // console.log(e);
  39. // console.log(textStatus);
  40. }
  41. });
  42. }
  43.  
  44. function processFutbinPlayers()
  45. {
  46.  
  47. var players = $('.player-group-table li');
  48. var arrNames = [];
  49. var arrPositions = [];
  50. var arrRatings = [];
  51.  
  52. var url = 'http://xbox-store-checker.com/fr/fut/api/futbin.json';
  53. var nbPlayer = 0;
  54. $(players).each(function (){
  55. if ($(this).find('.player-name').text() !== '') nbPlayer = nbPlayer + 1;
  56. });
  57. $('#show-price-playerlist').text('Récupèration des prix en cours...');
  58.  
  59. $(players).each(function (){
  60. var name = $(this).find('.player-name').text();
  61. var position = $(this).find('.player-club-league-name > strong').text();
  62. var rating = $(this).find('.player-rating span').text();
  63. var player = $(this);
  64. if (name !== '')
  65. {
  66. $.ajax({
  67. url: url,
  68. async: true,
  69. dataType: 'json',
  70. data: 'name=' + name + '&rating=' + rating + '&position=' + position,
  71. type: 'get',
  72. crossDomain: true,
  73. success: function (data){
  74. nbPlayer = nbPlayer - 1;
  75. if (nbPlayer === 0)
  76. {
  77. $('#show-price-playerlist').text('Récupèration des prix terminée');
  78. }
  79. $(player).find('.price-platform-target[data-platform="xb"]').text(data.price_xbox);
  80. $(player).find('.price-platform-target[data-platform="ps"]').text(data.price_ps);
  81. },
  82. error: function(e, textStatus)
  83. {
  84. console.log('error');
  85. // console.log(e);
  86. // console.log(textStatus);
  87. }
  88. });
  89. }
  90. });
  91. }
  92. // Player Page
  93. if ($('.font-16.fh-red a').length > 0)
  94. {
  95. processFutbin();
  96. }
  97. // Squad Page
  98. if ($('#squad').length > 0)
  99. {
  100. var squadUrl = $('meta[property="og:url"]').attr('content');
  101. var squadPriceUrl = 'http://xbox-store-checker.com/fr/futhead-price?squadId='+squadUrl;
  102. var buttonSquadPrice = $('<a></a>').attr('class', 'btn btn-futhead btn-full').attr('href', squadPriceUrl).attr('target', '_blank').text('Squad Price Calculator');
  103. buttonSquadPrice.prependTo($('.main-content > .row > .col-rigid-300'));
  104. }
  105. // Players list Page
  106. if ($('.player-group-table').length > 0)
  107. {
  108. var buttonPlayersListPrice = $('<a></a>').attr('class', 'btn btn-futhead btn-full').attr('id', 'show-price-playerlist').attr('href', '#').text('Voir les prix');
  109. buttonPlayersListPrice.prependTo($('.main-content > .row > .col-rigid-300'));
  110. $('body').on('click', '#show-price-playerlist', function(e) {
  111. e.preventDefault();
  112. processFutbinPlayers();
  113. return false;
  114. });
  115. }
  116.  
  117. })();