1document.addEventListener("DOMContentLoaded", function(event) { 2 var iFrameFunctions = (function() { 3 "use strict"; 4 var i, resizeTimeout, collapseLinks, iFrameArr = []; 5 6 /* Create Listener */ 7 window.addEventListener('resize', _resizeThrottler, false); 8 9 // Throttle Function for window resize 10 function _resizeThrottler() { 11 if (!resizeTimeout) { // ignore resize events as long as an actualResizeHandler execution is in the queue 12 resizeTimeout = setTimeout(function() { 13 resizeTimeout = null; 14 _resizeAllFrames(); 15 }, 66); // The actualResizeHandler will execute at a rate of 15fps 16 } 17 } 18 19 // Form Ready Functions 20 var formReady = function(mktoForm, iFrame) { 21 mktoForm.whenReady(function() { 22 //console.log('formReady'); 23 iFrameResize(iFrame); 24 }); 25 }; 26 27 // Listener for when the collapsed section is 28 var collapseListener = function($collapseDiv, iFrame) { 29 if (iFrame) { 30 $collapseDiv.on('show.bs.collapse', function() { 31 $collapseDiv.removeClass('collapse').css('visibility', 'hidden'); 32 iFrameResize(iFrame); 33 $collapseDiv.addClass('collapse').css('visibility', 'visible'); 34 }); 35 }; 36 }; 37 38 // Listener for when the collapsed section is 39 var moduleListener = function($modalDiv, iFrame) { 40 if (iFrame) { 41 $modalDiv.on('show.bs.modal', function() { 42 $modalDiv.css('display', 'block').css('visibility', 'hidden'); 43 iFrameResize(iFrame); 44 $modalDiv.css('display', 'none').css('visibility', 'visible'); 45 }); 46 $modalDiv.on('hidden.bs.modal', function() { 47 if(iFrame.getAttribute('src').toLowerCase().indexOf('gated=download') > -1){ 48 var iFrames = document.getElementsByName('responsiveFrame'); 49 for (i = 0; i < iFrames.length; i += 1) { 50 if(iFrames[i].getAttribute('src').toLowerCase().indexOf('gated=download') > -1){ 51 iFrames[i].contentWindow.location.reload(); 52 } 53 } 54 } 55 }); 56 }; 57 }; 58 59 /** Initial onLoad page functions **/ 60 var onLoad = function() { 61 var iFrames = document.getElementsByName('responsiveFrame'); 62 for (i = 0; i < iFrames.length; i += 1) { 63 handleIframeLoaded(iFrames[i]); 64 iFrames[i].addEventListener('load', function (e) { 65 handleIframeLoaded(e.target); 66 }); 67 } 68 }; 69 70 var handleIframeLoaded = function(iFrame) { 71 try { 72 var mktoForm = iFrame.contentWindow.MktoForms2 || ''; 73 var prdtform = iFrame.contentWindow.pardot || iFrame.contentWindow.origin.indexOf('prdt.illumina.com') > -1 || iFrame.contentWindow.origin.indexOf('prdt.sparkgen.com') > -1 || ''; //Adding additional check for Firefox private mode 74 75 if (prdtform) { 76 iFrameArr.push(iFrame); 77 bootstrapEventChecker(iFrame); 78 iFrameResize(iFrame); 79 } 80 else if (mktoForm) { 81 iFrameArr.push(iFrame); 82 bootstrapEventChecker(iFrame); 83 formReady(mktoForm, iFrame); 84 } 85 else if(iFrame.getAttribute('src').toLowerCase().indexOf('gated=download') > -1){ 86 iFrameResize(iFrame); 87 } 88 } 89 catch(err){ 90 if(iFrame.src.indexOf('youtube.com') > 0) { 91 iFrame.style.height = '100%'; 92 } 93 } 94 }; 95 96 var bootstrapEventChecker = function (iFrame){ 97 var $iFrame, $collapseDiv, $modalDiv; 98 $iFrame = $(iFrame); 99 //console.log('modal'); 100 //console.log($iFrame.closest("div.collapse")); 101 $collapseDiv = $iFrame.closest("div.collapse"); 102 103 if ($collapseDiv) { 104 collapseListener($collapseDiv, iFrame); 105 }; 106 107 // Modal Logic 108 $modalDiv = $iFrame.closest('div.modal')|| ''; 109 //console.log('modal'); 110 //console.log($modalDiv); 111 if ($modalDiv){ 112 moduleListener($modalDiv, iFrame); 113 }; 114 }; 115 116 117 // Loops through all Marketo Form iFrames and calls iFrameResize for each 118 var _resizeAllFrames = function() { 119 for (i = 0; i < iFrameArr.length; i += 1) { 120 iFrameResize(iFrameArr[i]); 121 } 122 }; 123 124 // Sets iFrame size to content body height 125 var iFrameResize = function(iFrameEl){ 126 if(iFrameEl.attributes['src'].value.indexOf('prdt.illumina.com')>-1 || iFrameEl.attributes['src'].value.indexOf('prdt.sparkgen.com')>-1){ 127 var setHeight = iFrameEl.contentWindow.document.body.offsetHeight; 128 if(setHeight != 0 && setHeight > 50){ 129 setHeight += 5; 130 if(iFrameEl.src.indexOf("iSeq-PreOrder") > -1) { 131 setHeight += 60; 132 } 133 iFrameEl.style.height = setHeight + 'px'; 134 } 135 else { 136 iFrameEl.style.height = '100%'; 137 } 138 } 139 }; 140 141 return { 142 onLoad: onLoad, 143 iFrameResize: iFrameResize 144 }; 145 }()); 146 147 if (window.jQuery) { 148 if($.fn.jquery.indexOf("2") > -1){ 149 jQuery(function() { 150 "use strict"; 151 iFrameFunctions.onLoad(); 152 }); 153 }else { 154 iFrameFunctions.onLoad(); 155 } 156 } else { 157 iFrameFunctions.onLoad(); 158 } 159});
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.