Litres.ru Code1 AutoFill

AutoFill the 'code1' field on litres.ru if not already filled

  1. // ==UserScript==
  2. // @name Litres.ru Code1 AutoFill
  3. // @name:ru Litres.ru Автоприменение промокодов
  4. // @namespace http://tampermonkey.net/
  5. // @version 0.1
  6. // @description AutoFill the 'code1' field on litres.ru if not already filled
  7. // @description:ru Автозаполнение поля 'code1' на сайте litres.ru, если оно еще не заполнено
  8. // @author You
  9. // @match https://www.litres.ru/*
  10. // @grant none
  11. // @license MIT
  12. // ==/UserScript==
  13.  
  14. (function() {
  15. 'use strict';
  16.  
  17. // Function to get URL parameter by name
  18. function getParameterByName(name, url) {
  19. if (!url) url = window.location.href;
  20. name = name.replace(/[\[\]]/g, "\\$&");
  21. var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
  22. results = regex.exec(url);
  23. if (!results) return null;
  24. if (!results[2]) return '';
  25. return decodeURIComponent(results[2].replace(/\+/g, " "));
  26. }
  27.  
  28. // Check if the 'code1' field is not filled
  29. var code1Field = document.getElementsByName('code1')[0];
  30. if (code1Field && !code1Field.value.trim()) {
  31. // Get the 'code1' parameter from the URL
  32. var code1Param = getParameterByName('code1');
  33.  
  34. // If 'code1' parameter exists, fill the field and click the button
  35. if (code1Param) {
  36. code1Field.value = code1Param;
  37.  
  38. // Click the activation button
  39. var activateButton = document.getElementById('activate_coupon');
  40. if (activateButton) {
  41. activateButton.click();
  42. }
  43. }
  44. }
  45. })();