最近我的项目要求接入网易七鱼客服,七鱼技术举荐用open形式关上,然而领导要求用url形式而后iframe显示,然而url形式有时会呈现onready办法不触发,或者触发了然而进error的。前面打印返现办法掉了一次,然而success里打印了4次随后就进了error。故作了return解决。代码如下:
(function (w, d, n, a, j) {
w[n] = w[n] || function () {
(w[n].a = w[n].a || []).push(arguments)
}
j = d.createElement('script')
j.async = true
j.src = 'https://qiyukf.com/script/qiy...
d.body.appendChild(j)
})(window, document, 'ysf')
window.isSdkReady = false
window.fn = []
ysf('onready', function () {
window.isSdkReady = true
if (window.fn[0]) {
window.fn[0]()
}
})
function openUrl (data, type,callBack) {
let isOk = false
ysf('config', {
uid: data.playerId, data: JSON.stringify([ {'key': 'real_name', 'value': data.playerName}, {'key': 'player_id', 'label': "玩家ID", 'value': data.playerId},]),staffid: data.qiyuKefuId, // 客服idsuccess: function () { // 胜利回调 if(isOk) { return } let url = ysf('url') callBack(url) isOk = true},error: function (e) { // 谬误回调 if(isOk) { return } isOk = true callBack('网络连接失败')}
})
}
另外:mumu模拟器(夜神是好的),ipad环境下会辨认成web模式,聊天界面显示没有撑满屏幕的状况,这是mumu模拟器的bug。
(这是web模式下才会显示的)