Smooch чат имеет элементы поверх него, как я могу это исправить? - PullRequest
0 голосов
/ 13 сентября 2018

Я использую эту библиотеку:

 !function(e,n,t,r){
        function o(){try{var e;if((e="string"==typeof this.response?JSON.parse(this.response):this.response).url){var t=n.getElementsByTagName("script")[0],r=n.createElement("script");r.async=!0,r.src=e.url,t.parentNode.insertBefore(r,t)}}catch(e){}}var s,p,a,i=[],c=[];e[t]={init:function(){s=arguments;var e={then:function(n){return c.push({type:"t",next:n}),e},catch:function(n){return c.push({type:"c",next:n}),e}};return e},on:function(){i.push(arguments)},render:function(){p=arguments},destroy:function(){a=arguments}},e.__onWebMessengerHostReady__=function(n){if(delete e.__onWebMessengerHostReady__,e[t]=n,s)for(var r=n.init.apply(n,s),o=0;o<c.length;o++){var u=c[o];r="t"===u.type?r.then(u.next):r.catch(u.next)}p&&n.render.apply(n,p),a&&n.destroy.apply(n,a);for(o=0;o<i.length;o++)n.on.apply(n,i[o])};var u=new XMLHttpRequest;u.addEventListener("load",o),u.open("GET","https://"+r+".webloader.smooch.io/",!0),u.responseType="json",u.send()
    }(window,document,"Smooch",smooch_key);

И вот как я инициализирую:

    function initSmooch() {
    if (!$rootScope.smooch_inited) {
        try {
            var window_focus = true;
            $(window).focus(function() {
                window_focus = true;
            }).blur(function() {
                window_focus = false;
            });

            Smooch.on('message:received', function() {
                if (!window_focus || !Smooch.isOpened()) {
                    //Play sound
                    var audio = new Audio('assets/audio/ding.wav');
                    audio.play();
                }
                Smooch.open();
            });
            var promise = Smooch.init({
                appId: smooch_key,
            });
            promise.then(function() {
                $('#sk-holder').addClass('no-print');
                $rootScope.smooch_inited = true;
                Smooch.updateUser({
                    givenName: $rootScope.data.user.first_name,
                    surname: $rootScope.data.user.last_name,
                    properties: {
                        email: $rootScope.data.user.email,
                        uid: $rootScope.data.user.id,
                        language: $rootScope.data.user.language,
                        country: $rootScope.data.user.country
                    }
                });
            });
        } catch(e) {
            console.log("error trying to init smooch: " + e);
            $timeout(function() {
                initSmooch();
            }, 1000);
        }
    }
}

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

Example Picture

1 Ответ

0 голосов
/ 13 сентября 2018

Похоже, что существует конфликт между Z-индексом Web Messenger и элементами под ним.Веб-мессенджер уже имеет очень высокий z-индекс 9998, но для решения этой проблемы вам нужно либо увеличить это значение еще больше, либо уменьшить z-индекс элементов, отображаемых сверху.

В первом случае вы можете вставить это правило CSS на своей странице и настроить значение на что-нибудь подходящее:

#web-messenger-container {
    z-index: 9998;
}

Или написать аналогичное правило, предназначенное для проблемных элементов, и присвоить им меньшее число

...