Почему после обновления initialize Facebook не отображаются кнопки «нравится» и «поделиться»?

203
16 июня 2018, 03:50

В методе ngOnInit() следующий код:

 this.translateService.onLangChange.subscribe((event: LangChangeEvent) => {
    var lang = 'es_LA';
            var isChangeLang = false;
            var parentNode;
            this.langId = LangHelper.getLangId(this.translateService.currentLang);
            if (this.inputData.langId != this.langId) {
                this.inputData.langId = this.langId;
                this.inputData.isChangeLang = true;
                isChangeLang = true;
                lang = 'uk_UA';
            }
            else {
                this.inputData.isChangeLang = false;
                isChangeLang = false;
            }
            this.getPracticeData();

            debugger;
            if (window.FB && document.getElementById("facebook-jssdk")) { //if set, reset
                //removes the <script>
                document.head.removeChild(document.getElementById("facebook-jssdk"));
                window.FB = null; //unloads the APIs
                debugger;
                this.initializeFacebook(lang);
                  }
                    });
        this.initializeFacebook("es_LA");

    }

Метод initializeFacebook:

 initializeFacebook(lang) {
        (function (d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) return;
            js = d.createElement(s); js.id = id;
            js.src = 'https://connect.facebook.net/' + lang + '/sdk.js#xfbml=1&version=v3.0';
            debugger;
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));
        window.fbAsyncInit = function () {
            debugger;
            FB.init({
                appId: 'xxxxxxxxxxxxx',
                cookie: true,
                xfbml: true,   //
                version: 'v3.0'
            });
            FB.AppEvents.logPageView();
        };
    }

Кнопки «нравится» и «поделиться» отображаются после первой инициализации после загрузки страницы. Но когда я изменяю язык мы переходим в метод this.translateService.onLangChange.subscribe и вызывается метод this.initializeFacebook с другим языком. После этого кнопки не отображаются. И я не могу понять почему. Что не так?

READ ALSO
Извлечение данных localStorage

Извлечение данных localStorage

Есть форма, данные которой записываются в массив contacts, потом функция updateTable берет данные из массива и заполняет/рисует таблицуНеобходимо...

200
Как условно отобразить header внутри jsf?

Как условно отобразить header внутри jsf?

У меня есть jsf страница, Требуется, чтобы в зависимости от переданного в реквесте параметра, например это GET с параметром в url hide, чтобы: Если...

196