<template>
<view>
<!--在底部加上代码-->
<view id="fb-root"> </view>
<view id="fb-customer-chat" class="fb-customerchat" :page_id="pageId" :attribution="attribution"></view>
</view>
</template>
<script>
export default {
data() {
return {
pageId: "101199972640448",
attribution: "biz_inbox"
}
},
onShow() {
this.$nextTick(() => {
console.log("fbparent");
this.facebookInit()
})
},
mounted() {
},
methods:{
facebookInit() {
console.log("Facebook");
window.fbAsyncInit = function() {
FB.init({
xfbml: true,
version: 'v14.0'
});
};
(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/zh_CN/sdk/xfbml.customerchat.js';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
},
}
}
*
查看下,切换页面时,触发初始化方法了没
若对你有帮助,可以关注一下我哦⊙∀⊙!
以后有什么问题可以私信给我
开启一下缓存
1.检查下图标是不是被隐藏了
2.图标层级关系
建议把图标直接替换成本地文件,然后再看看有问题没有。
1.因为你使用的onShow函数 每次进来都会重新执行
解决方法 :
1.onShow 换成 onload里面
2.动态引入 换成静态引入
3.加一把锁,加载了就不用重新加载
js.src = 'https://connect.facebook.net/zh_CN/sdk/xfbml.customerchat.js';
fjs.parentNode.insertBefore(js, fjs);