Toranoana: no reload

Do not redirect after action.

  1. // ==UserScript==
  2. // @name Toranoana: no reload
  3. // @namespace http://darkfader.net/
  4. // @version 0.3
  5. // @description Do not redirect after action.
  6. // @author Rafael Vuijk
  7. // @match https://ec.toranoana.shop/ec/app/mypage/favorite_list/*
  8. // @match https://ec.toranoana.shop/ec/app/cart/cart/*
  9. // @grant unsafeWindow
  10. // ==/UserScript==
  11.  
  12. HTMLElement.prototype.remove = function() { this.parentNode.removeChild(this); return this; }
  13.  
  14. function onReady() {
  15. const _controlAjaxSuccess = unsafeWindow.controlAjaxSuccess;
  16. unsafeWindow.controlAjaxSuccess = function(data, successFunction, messageType, messageAdd, formId) {
  17. if (formId !== undefined && formId != null) {
  18. console.log("controlAjaxSuccess", data, successFunction, messageType, messageAdd, formId);
  19. let action = document.getElementById(formId).querySelector("input[name='actionId']").value;
  20. console.log(data, action);
  21. if (action == "delete") {
  22. data.nextUrl = null; // don't go anywhere (and parse transactiontoken from result)
  23. }
  24. _controlAjaxSuccess(data, successFunction, messageType, messageAdd, formId);
  25. if (action == "delete") {
  26. document.getElementById(formId).remove();
  27. }
  28. } else {
  29. _controlAjaxSuccess(data, successFunction, messageType, messageAdd, formId);
  30. }
  31. }
  32. }
  33.  
  34. // start the onReady...
  35. if (document.readyState !== "loading") {
  36. setTimeout(onReady, 0);
  37. } else {
  38. document.addEventListener("DOMContentLoaded", onReady);
  39. }