1const CC_DIV = document.createElement("div"); 2const CC_FRAME = document.createElement("iframe"); 3const EVENT_METHOD = window.addEventListener 4 ? "addEventListener" 5 : "attachEvent"; 6 7 8CC_DIV.setAttribute("id", "cardcash-root"); 9 10CC_FRAME.setAttribute("allowTransparency", "true"); 11CC_FRAME.setAttribute("frameborder", "0"); 12CC_FRAME.setAttribute("id", "cardcash-widget"); 13CC_FRAME.src = "https://test-checkout.cardcash.com/index.html"; 14 15CC_FRAME.style.zIndex = "214748364999997"; 16CC_FRAME.style.background = "rgba(0, 0, 0, 0.004)"; 17CC_FRAME.style.border = "0px none transparent"; 18CC_FRAME.style.overflow = "hidden auto"; 19CC_FRAME.style.visibility = "visible"; 20CC_FRAME.style.margin = "0px"; 21CC_FRAME.style.padding = "0px"; 22CC_FRAME.style.position = "fixed"; 23CC_FRAME.style.left = "0px"; 24CC_FRAME.style.top = "0px"; 25CC_FRAME.style.width = "100%"; 26CC_FRAME.style.height = "100%"; 27 28CC_DIV.style.display = "none"; 29CC_DIV.style.position = "fixed"; 30CC_DIV.style.top = "0px"; 31CC_DIV.style.right = "0px"; 32CC_DIV.style.height = "100%"; 33CC_DIV.style.width = "100%"; 34CC_DIV.style.zIndex = "214748364999997"; 35CC_DIV.style.backgroundColor = "rgba(0, 0, 0, 0.4)"; 36 37document.body.appendChild(CC_DIV); 38 39 40window.CardCash = { 41 open: function(data = {}) { 42 return new Promise((resolve, reject) => { 43 CC_DIV.appendChild(CC_FRAME); 44 45 window[EVENT_METHOD]( 46 EVENT_METHOD === "attachEvent" ? "onmessage" : "message", 47 event => { 48 49 if ( event.origin === "https://test-checkout.cardcash.com" ) { 50 if ( event.data.type === "cardcash-loaded" ) { 51 CC_FRAME.contentWindow.postMessage( 52 { type: "cardcash-open", payload: data }, 53 "*" 54 ); 55 56 CC_DIV.style.display = "block"; 57 58 // disable body scrolling 59 document.body.style.overflow = "hidden"; 60 } 61 62 if ( event.data.type === "cardcash-complete" ) { 63 CC_DIV.style.display = "none"; 64 65 // resume body scrolling 66 document.body.style.overflow = "unset"; 67 68 if ( document.getElementById("cardcash-widget") ) { 69 document.getElementById("cardcash-root").removeChild(document.getElementById("cardcash-widget")); 70 } 71 72 resolve(event.data.payload); 73 } 74 75 if ( event.data.type === "cardcash-error" ) { 76 CC_DIV.style.display = "none"; 77 78 // resume body scrolling 79 document.body.style.overflow = "unset"; 80 81 82 if ( document.getElementById("cardcash-widget") ) { 83 document.getElementById("cardcash-root").removeChild(document.getElementById("cardcash-widget")); 84 } 85 86 reject(event.data.payload); 87 } 88 } 89 }); 90 }); 91 }, 92 close: function() { 93 CC_FRAME.contentWindow.postMessage( 94 { type: "cardcash-close", payload: {} }, 95 "*" 96 ); 97 98 CC_DIV.style.display = "none"; 99 100 // resume body scrolling 101 document.body.style.overflow = "unset"; 102 103 if ( document.getElementById("cardcash-widget") ) { 104 document.getElementById("cardcash-root").removeChild(document.getElementById("cardcash-widget")); 105 } 106 } 107};
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.