![](/img/trans.png)
[英]Facebook Messenger website plugin greeting_dialog_display not working
[英]Hide facebook customer chat plugin's greeting dialog on page load
我一直試圖在初始頁面加載時隱藏客戶聊天插件的問候對話框。 以下是不起作用的事情:
這很奇怪,因為 theme_color 和 logging_in_greeting 等其他屬性似乎運行良好。
我正在使用 fbAsyncInit 函數來確保在插件初始化后運行代碼。 我用它來訂閱諸如 customerchat.show、customerchat.load 等事件,然后隱藏對話框,但這也不起作用。
還嘗試將 xfbml 設置為 false,然后將其解析為使用 FB.CustomerChat.show(shouldShowDialog: boolean) 和 false 但無濟於事。
這是代碼:
<!-- Load Facebook SDK for JavaScript -->
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
xfbml : true,
version : 'v3.2'
});
$(document).trigger('fbload');
};
(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/en_US/sdk/xfbml.customerchat.js';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<!-- Your customer chat code -->
<div class="fb-customerchat"
attribution=setup_tool
page_id="123456789"
greeting_dialog_display="fade"
greeting_dialog_delay="10"
theme_color="#ff7e29">
</div>
<script>
$(function() {
$(document).on('fbload', function() {
console.log('fb loaded!');
});
});
</script>
你應該改變:
<div class="fb-customerchat"
attribution=setup_tool
page_id="123456789"
greeting_dialog_display="fade"
greeting_dialog_delay="10"
theme_color="#ff7e29">
</div>
到:
<div class="fb-customerchat" attribution=setup_tool page_id="123456789" greeting_dialog_display="fade" greeting_dialog_delay="10" theme_color="#ff7e29"></div>
在一行中制作 div 標簽。 這個對我有用
我有同樣的問題。 我做錯的是我把我的 HTML 放在腳本上面,因為我需要把它放在某個地方,所以我把所有的腳本放在頁面的底部,信使的 HTML 放在我的頁面的中心。 所以試着把腳本放在它上面。
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'MY_APP_ID',
autoLogAppEvents : true,
xfbml : true,
version : 'v2.12'
});
};
(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/en_US/sdk/xfbml.customerchat.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="supportTeam">
<div class="trigger"></div>
<div class="messenger">
<div class="fb-customerchat"
page_id="YOUR_PAGE_ID"
theme_color="#0084ff"
greeting_dialog_display="hide"
logged_in_greeting="Welcome, How we may help you"
logged_out_greeting="Welcome, How we may help you">
</div>
</div>
</div>
如果這沒有幫助,請嘗試獲取最新版本的 SDK,或檢查控制台。 如果出現問題,他們會給你錯誤。
當設置為隱藏時, greeting_dialog_display 屬性正在工作。 單擊 Messenger 圖標時,該對話框將保持打開狀態,因為除非您登錄 Messenger,否則無法關閉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.