(function() { document.domain = "target.com"; function postSizeChartHeight() { window.parent.postMessage( JSON.stringify({ type: "SIZE_CHART_HEIGHT", payload: { height: document.body.scrollHeight } }), '*'); } function rePostSizeChartHeight(event) { event.preventDefault(); if (!(/^https:\/\/(?:[\w.]+?).target.com/g).test(event.origin)) return; var parsedMessage; try { parsedMessage = JSON.parse(event.data); } catch (error) { parsedMessage = event.data; console.error(error); } if ( parsedMessage && parsedMessage.type && parsedMessage.type === "GET_SIZE_CHART_HEIGHT" ) { postSizeChartHeight(); } } function removeEvents(event) { event.preventDefault(); event.returnValue = ""; // chrome requirement window.removeEventListener("load", postSizeChartHeight); window.removeEventListener("message", rePostSizeChartHeight); window.removeEventListener("unload", removeEvents); } window.addEventListener("load", postSizeChartHeight); window.addEventListener("message", rePostSizeChartHeight); window.addEventListener("unload", removeEvents); })();