<iframe src="https://bitrix.infoflot.com/rest/api/search.filter/?key=YTo0OntzOjI6IklEIjtpOjg0OTtzOjQ6IlVTRVIiO3M6MTY6ImFuUjBiM1Z5UUhsaExuSjEiO3M6NjoiUkFORE9NIjtzOjg6ImR3Y21zbGppIjtzOjE1OiJJTkZPRkxPVC1BUElLRVkiO3M6NDA6ImNmYjY3M2JiZTljNjdiODU5YmM2MTU5MWI0ZjE3MWI4ODAzYjdmNTgiO30=" style="border: none" frameborder="0" scrolling="yes" width="100%" height="200"  id="infoflotWidget" onload = "infoflotWidgetLoad(this)" allow="clipboard-read; clipboard-write"></iframe><script id="infoflotWidgetScript">
    let infoflotWidget = document.getElementById("infoflotWidget");
    const setParentWindowParams = function(frame = infoflotWidget){
        //параметры родительского окна
        if(frame.contentWindow){
          frame.contentWindow.postMessage({
          parentParams: {
          parentScrollTop: window.scrollY,
          parentHeight: window.innerHeight,
          top: frame.offsetTop
          }
          }, '*');
        }
    }
    window.infoflotWidgetLoad = function(frame){
        setParentWindowParams(frame);
        infoflotWidget = frame; 
    }

    window.addEventListener('scroll',(event) => {
        if(infoflotWidget){
          setParentWindowParams(infoflotWidget);
        }
        if(infoflotWidget && infoflotWidget.contentWindow){
            if (window.pageYOffset > infoflotWidget.offsetTop + 200) {
                infoflotWidget.contentWindow.postMessage({
                    showBtnTop: true
                }, '*');
            } else {
                infoflotWidget.contentWindow.postMessage({
                    showBtnTop: false
                }, '*');
            }
        }
    });

    /**
     * Считает ширину скроллбара браузера в пикселях
     * @returns {number}
     */
    const getScrollbarWidth = function () {
        // Creating invisible container
        const outer = document.createElement('div');
        outer.style.visibility = 'hidden';
        outer.style.overflow = 'scroll'; // forcing scrollbar to appear
        outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps
        document.body.appendChild(outer);

        // Creating inner element and placing it in the container
        const inner = document.createElement('div');
        outer.appendChild(inner);

        // Calculating difference between container's full width and the child width
        const scrollbarWidth = (outer.offsetWidth - inner.offsetWidth);

        // Removing temporary elements from the DOM
        outer.parentNode.removeChild(outer);

        return scrollbarWidth;

    }

    window.onmessage = (e) => {
        //сообщаем новую высоту ифрейма
        if (e.data.hasOwnProperty("frameHeight") && infoflotWidget) {
            infoflotWidget.style.height = e.data.frameHeight + 20 + 'px';
        }

        //сообщаем ширину ифрейма
        if (e.data.hasOwnProperty("frameWidth") && infoflotWidget) {
            infoflotWidget.style.maxWidth = e.data.frameWidth;
            infoflotWidget.style.margin = '0 auto';
            infoflotWidget.style.display = 'block';
        }

        //scroll к верху ифрейма
        if (e.data.hasOwnProperty("scrollTop") && infoflotWidget) {
        const topInfoflotWidget = infoflotWidget.offsetTop + e.data.scrollTo;
        window.scrollTo({
                top: topInfoflotWidget,
                behavior: e.data.behavior
            });
        }

        //scroll к низу ифрейма
        if (e.data.hasOwnProperty("scrollBottom") && infoflotWidget) {
            const bottomInfoflotWidget = e.data.hasOwnProperty("frameHeight") ? e.data.frameHeight + infoflotWidget.offsetTop - window.innerHeight : infoflotWidget.offsetTop + infoflotWidget.offsetHeight - window.innerHeight;
            window.scrollTo( 0, bottomInfoflotWidget );
        }

        //сообщаем, что в ифрейме открыли попап
        if (e.data.hasOwnProperty("openPopup")) {
          document.documentElement.style.overflow = (e.data.openPopup === true) ? "hidden" : "";
          /* if(e.data.openPopup === true){
            document.body.style.paddingRight = getScrollbarWidth() + 'px';
          } else{
            document.body.style.paddingRight = '';
          } */
        }
    };
    infoflotWidget.src += "&referer=" + encodeURIComponent(location.href);</script>