1const iFrameId = 'portal-voltdeutschland-org-donate'; 2 3window.addEventListener('message', (event) => { 4 if (event.data && event.data.iFrameHeight) { 5 const iFrame = document.getElementById(iFrameId); 6 iFrame.style.height = event.data.iFrameHeight + 'px'; 7 } 8}); 9 10const queryString = window.location.search; 11const urlParams = new URLSearchParams(queryString); 12 13const iFrame = document.getElementById(iFrameId); 14 15const possibleArguments = [ 16 'targetId', 17 'optionSet', 18 'single', 19 'givenName', 20 'surname', 21 'line', 22 'city', 23 'zip', 24 'country', 25 'mail', 26 'value', 27 'interval', 28]; 29 30if (iFrame != null) { 31 let src = iFrame.src; 32 if (src == null || src == '') 33 src = 'https://portal.voltdeutschland.org/de/donate?'; 34 35 if (src.includes('?')) { 36 src = src.concat('&'); 37 } else { 38 src = src.concat('?'); 39 } 40 41 for (const arg of possibleArguments) { 42 const value = urlParams.get(arg); 43 if (urlParams.has(arg) && value != null && src.includes(arg)) 44 src = src.concat('&', arg, '=', value); 45 } 46 47 Array.from(urlParams.keys()) 48 .filter((c) => c.startsWith('utm') || c.startsWith('tag')) 49 .forEach((key) => (src = src.concat('&', key, '=', urlParams.get(key)))); 50 51 src = src.concat('&tag_frame_referrer=', document.referrer); 52 src = src.concat('&tag_frame_location_origin=', document.location.origin); 53 src = src.concat('&tag_frame_location_pathname=', document.location.pathname); 54 55 iFrame.src = src; 56}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.