Cdiscount 50/100% filter

try to take over the world!

  1. // ==UserScript==
  2. // @name Cdiscount 50/100% filter
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description try to take over the world!
  6. // @author Syntaxlb
  7. // @match http://www.cdiscount.com/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. // CRTL+Q for execute the script
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16.  
  17. var listP = $('<div></div>').attr('id', 'listP');
  18. listP.insertBefore($('#lpBloc'));
  19.  
  20.  
  21. var totalPage = $('#pager #PaginationForm_TotalPage').attr('value');
  22. totalPage = parseInt(totalPage);
  23.  
  24. var currentPage = 1;
  25.  
  26. var countNoDiscount = 0;
  27.  
  28.  
  29. function filterDiscount()
  30. {
  31. var hasDiscount = false;
  32.  
  33. $('#lpBloc li .prdtBloc').each(function() {
  34. var el = $(this);
  35. var opImg = $(this).find('.opImg img');
  36. if (opImg) {
  37. if (opImg.attr('alt') == "Jusqu'à 100% remboursés")
  38. {
  39. hasDiscount = true;
  40. el.attr('style', 'width:300px; float: left;');
  41. el.appendTo(listP);
  42. }
  43. }
  44. });
  45.  
  46. if (hasDiscount == false)
  47. {
  48. countNoDiscount++;
  49. }
  50. }
  51.  
  52. function clickPage()
  53. {
  54.  
  55. setTimeout(function () {
  56.  
  57. currentPage++;
  58. if (currentPage <= totalPage)
  59. {
  60. console.log('CLICK PAGE ' + currentPage);
  61. $('#pager a.pgNext').click();
  62. clickPage();
  63. }
  64.  
  65. filterDiscount();
  66.  
  67. }, 6000);
  68. }
  69.  
  70.  
  71. function doFilterDiscount()
  72. {
  73. setTimeout(function () {
  74. filterDiscount();
  75.  
  76. if (countNoDiscount < 70)
  77. {
  78. doFilterDiscount();
  79. }
  80. else
  81. {
  82. console.log('STOP FILTER DISCOUNT');
  83. }
  84. }, 1000);
  85. }
  86.  
  87.  
  88.  
  89. $(window).keypress(function(event) {
  90. if (!(event.which == 17 && event.ctrlKey)) return true;
  91. alert('Démarrage du filtre 50/100%');
  92. clickPage();
  93. doFilterDiscount();
  94. });
  95.  
  96. })();