Интерком Необходим двойной щелчок для отображения меню.

Мне нужно дважды щелкнуть по моей кнопке поддержки, чтобы мессенджер появился на первом клике

    private handleSupportClick() {
        const ic = (window as any).Intercom;
        function l() {
            const d = document;
            const s = d.createElement('script');
            s.type = 'text/javascript';
            s.async = true;
            s.src = 'https://widget.intercom.io/widget/';
            const x = d.getElementsByTagName('script')[0];
            (x as any).parentNode.insertBefore(s, x);
        }
        (window as any).intercomSettings = {
            app_id: process.env.REACT_APP_INTERCOM_APP_ID as string,
            hide_default_launcher: true
        };
        (() => {
            l();
            if (typeof ic === "function") {
                ic('reattach_activator');
                ic('show', (window as any).intercomSettings);
            } else {
                const i = (...args: any) => {
                    (i as any).c(...args)
                };
                (i as any).q = [];
                (i as any).c = (args: any) => {
                    (i as any).q.push(args)
                };
                (window as any).Intercom = i;
                this.handleSupportClick();
            }
        })()
    }

,

Однако после первого щелчка для вызова того же мессенджера потребуется всего один щелчок по моей кнопке поддержки. Я отслеживал поток в отладчике буквально строка за строкой, но до сих пор не могу понять, почему для этого требуется двойной щелчок. Я, конечно, заставил сам вызов функции снова после первоначального щелчка, но это все еще не работает, и я получаю сообщение об ошибке: "CreateListFromArrayLike вызван для необъекта"

Любая помощь очень ценится.

0 ответов

Другие вопросы по тегам