Skip to main content

Miło Cię widzieć!

Zaloguj się, aby poznać swoje zasoby i zapisać się na ekskluzywne wydarzenia.

Nie jesteś jeszcze członkiem?
Dołącz do bezpłatnej społeczności, lub odblokuj (o wiele) więcej dzięki naszemu członkostwu dla kierowników projektów.

 

(() => { const params = new URLSearchParams(window.location.search); const redirectTarget = params.get('redirect_to'); // Zatrzymaj działanie, jeśli redirect_to nie istnieje lub jest pusty if (!redirectTarget) { return; } let validatedRedirect; try { const targetUrl = new URL(redirectTarget, window.location.origin); // Zezwalaj wyłącznie na adresy URL http/https w bieżącej domenie if ( !['http:', 'https:'].includes(targetUrl.protocol) || targetUrl.origin !== window.location.origin ) { return; } validatedRedirect = targetUrl.href; } catch { // Zatrzymaj działanie, jeśli redirect_to nie jest prawidłowym adresem URL 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; }; // Zaktualizuj natychmiast, jeśli pole już istnieje if (updateRedirectField()) { return; } // W przeciwnym razie zaczekaj na załadowanie osadzonego formularza const observer = new MutationObserver(() => { if (updateRedirectField()) { observer.disconnect(); } }); observer.observe(document.documentElement, { childList: true, subtree: true }); })();