Обновите div и перезагрузите скрипт - PullRequest
0 голосов
/ 25 апреля 2018

Итак, я хотел бы перезагрузить div, но мне также нужно вызвать связанный с ним скрипт jquery. По сути, я встраиваю внешний виджет в свой сайт. Этот внешний виджет создает больше тегов js и css. Но новый загруженный div не имеет вложения DOM, поэтому скрипт и css не применяются к вновь загруженному DOM.

Есть ли способ обойти это? Причина, по которой я обновляюсь, заключается в том, что виджет является фидом постов, и мне нужно, чтобы он обновлялся автоматически, поскольку сам виджет этого не делает.

Вот что я пробовал до сих пор:

    <script type="text/javascript">
    function removeCurator() {
        $('body').find('script[src$="https://cdn.curator.io/3.1/js/curator.min.js"]').remove();
        $('body').find('.crt-popup-wrapper').remove();
        $('head').find('link[href="https://cdn.curator.io/3.1/css/curator.css"]').remove();
        $('head').find('link[href="https://cdn.curator.io/published-css/b6d489d3-8a9d-4097-a1db-4a3435ae.css"]').remove();
        $('head').find('script[src$="https://cdn.curator.io/published/b6d489d3-8a9d-4097-a1db-4a3435ae.js"]').remove();
    }

    function loadCurator() {
        let i, e, d = document, s = "script";i = d.createElement("script");i.async = 1;
        i.src = "https://cdn.curator.io/published/b6d489d3-8a9d-4097-a1db-4a3435ae.js";
        e = d.getElementsByTagName(s)[0];e.parentNode.insertBefore(i, e);
    }

    $(document).ready(function () {
        loadCurator();

        setInterval(function () {
            $('#curator-feed').fadeOut();

            removeCurator();

            $('#social-media').load(document.URL +  ' #social-media');
            $('#social-media').on('load', loadCurator());
            $('#curator-feed').fadeIn(400);
        }, 7000);
    });
</script>

На самом деле он загружает div, а затем показывает подачу, но исчезает через секунду максимум ...

Спасибо за вашу помощь!

...