Smooch 聊天上面有元素,我该如何解决这个问题?
Smooch chat has elements on top of it, how can I fix this?
我正在使用这个库:
!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);
}
}
}
看了,但是我添加视图的地方什么都没有,所以我不知道如何修改,强制它在最上面。有什么想法吗?
Web Messenger 的 Z 索引与其下方的元素之间似乎存在冲突。 Web Messenger 已经具有非常高的 z-index 9998
,但要解决此问题,您需要进一步增加该值,或者降低出现在顶部的元素的 z-index。
对于前者,您可以在页面上插入此 CSS 规则并将值调整为合适的值:
#web-messenger-container {
z-index: 9998;
}
或者针对有问题的元素编写一个类似的规则并给它们一个较小的数字
我正在使用这个库:
!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);
}
}
}
看了,但是我添加视图的地方什么都没有,所以我不知道如何修改,强制它在最上面。有什么想法吗?
Web Messenger 的 Z 索引与其下方的元素之间似乎存在冲突。 Web Messenger 已经具有非常高的 z-index 9998
,但要解决此问题,您需要进一步增加该值,或者降低出现在顶部的元素的 z-index。
对于前者,您可以在页面上插入此 CSS 规则并将值调整为合适的值:
#web-messenger-container {
z-index: 9998;
}
或者针对有问题的元素编写一个类似的规则并给它们一个较小的数字