/*! Respond.js: min/max-width media query polyfill. Remote proxy (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ (function(win, doc, undefined){ var docElem = doc.documentElement, proxyURL = doc.getElementById("respond-proxy").href, redirectURL = (doc.getElementById("respond-redirect") || location).href, baseElem = doc.getElementsByTagName("base")[0], urls = [], refNode; function encode(url){ return win.encodeURIComponent(url); } function fakejax( url, callback ){ var iframe, AXO; // All hail Google http://j.mp/iKMI19 // Behold, an iframe proxy without annoying clicky noises. if ( "ActiveXObject" in win ) { AXO = new ActiveXObject( "htmlfile" ); AXO.open(); AXO.write( '' ); AXO.close(); iframe = AXO.getElementById( "x" ); } else { iframe = doc.createElement( "iframe" ); iframe.style.cssText = "position:absolute;top:-99em"; docElem.insertBefore(iframe, docElem.firstElementChild || docElem.firstChild ); } iframe.src = checkBaseURL(proxyURL) + "?url=" + encode(redirectURL) + "&css=" + encode(checkBaseURL(url)); function checkFrameName() { var cssText; try { cssText = iframe.contentWindow.name; } catch (e) { } if (cssText) { // We've got what we need. Stop the iframe from loading further content. iframe.src = "about:blank"; iframe.parentNode.removeChild(iframe); iframe = null; // Per http://j.mp/kn9EPh, not taking any chances. Flushing the ActiveXObject if (AXO) { AXO = null; if (win.CollectGarbage) { win.CollectGarbage(); } } callback(cssText); } else{ win.setTimeout(checkFrameName, 100); } } win.setTimeout(checkFrameName, 500); } // http://stackoverflow.com/a/472729 function checkBaseURL(href) { var el = document.createElement('div'), escapedURL = href.split('&').join('&'). split('<').join('<'). split('"').join('"'); el.innerHTML = 'x'; return el.firstChild.href; } function checkRedirectURL() { // IE6 & IE7 don't build out absolute urls in attributes. // So respond.proxy.gif remains relative instead of http://example.com/respond.proxy.gif. // This trickery resolves that issue. if (~ !redirectURL.indexOf(location.host)) { var fakeLink = doc.createElement("div"); fakeLink.innerHTML = ''; docElem.insertBefore(fakeLink, docElem.firstElementChild || docElem.firstChild ); // Grab the parsed URL from that dummy object redirectURL = fakeLink.firstChild.href; // Clean up fakeLink.parentNode.removeChild(fakeLink); fakeLink = null; } } function buildUrls(){ var links = doc.getElementsByTagName( "link" ); for( var i = 0, linkl = links.length; i < linkl; i++ ){ var thislink = links[i], href = links[i].href, extreg = (/^([a-zA-Z:]*\/\/(www\.)?)/).test( href ), ext = (baseElem && !extreg) || extreg; //make sure it's an external stylesheet if( thislink.rel.indexOf( "stylesheet" ) >= 0 && ext ){ (function( link ){ fakejax( href, function( css ){ link.styleSheet.rawCssText = css; respond.update(); } ); })( thislink ); } } } if( !respond.mediaQueriesSupported ){ checkRedirectURL(); buildUrls(); } })( window, document );

Segmentify Recommendation Widget

This is a preview of widgets location. Content will be loaded dynamicly and dashed outline will not be visible outside of theme editor.

You can change this widgets style and behavior via Segmentify panel.