Iniciar sesión
¡Bienvenido de nuevo!
Inicia sesión para acceder a tu panel y mantenerte a la vanguardia con las últimas estrategias minoristas, conocimientos operativos y manuales ejecutivos.
¿Aún no eres miembro? Regístrate aquí.
(() => {
const params = new URLSearchParams(window.location.search);
const redirectTarget = params.get('redirect_to');
// Detener si redirect_to falta o está vacío
if (!redirectTarget) {
return;
}
let validatedRedirect;
try {
const targetUrl = new URL(redirectTarget, window.location.origin);
// Solo permitir URLs http/https en el dominio actual
if (
!['http:', 'https:'].includes(targetUrl.protocol) ||
targetUrl.origin !== window.location.origin
) {
return;
}
validatedRedirect = targetUrl.href;
} catch {
// Detener si redirect_to no es una URL válida
return;
}
const updateRedirectField = () => {
const field = document.querySelector(
'input[type="hidden"][name="redirect_to"]'
);
if (!field) {
return false;
}
field.value = validatedRedirect;
field.setAttribute('value', validatedRedirect);
return true;
};
// Actualizar inmediatamente si el campo ya existe
if (updateRedirectField()) {
return;
}
// De lo contrario, esperar a que el formulario incrustado cargue
const observer = new MutationObserver(() => {
if (updateRedirectField()) {
observer.disconnect();
}
});
observer.observe(document.documentElement, {
childList: true,
subtree: true
});
})();
