在页面加载时隐藏 Facebook 客户聊天插件的问候对话框
Hide facebook customer chat plugin's greeting dialog on page load
我一直试图在初始页面加载时隐藏客户聊天插件的问候对话框。
以下是无效的内容:
- greeting_dialog_display 属性
- greeting_dialog_delay属性
这很奇怪,因为 theme_color 和 logged_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>
greeting_dialog_display 属性在设置为隐藏时有效。单击 Messenger 图标时,对话框只会保持打开状态,因为除非您登录 Messenger,否则无法关闭。
我遇到了同样的问题。
我做错的是我把我的 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,或检查控制台。如果出现问题,他们会给你错误。
您应该更改:
<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 标记放在一行中。对我有用
我一直试图在初始页面加载时隐藏客户聊天插件的问候对话框。 以下是无效的内容:
- greeting_dialog_display 属性
- greeting_dialog_delay属性
这很奇怪,因为 theme_color 和 logged_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>
greeting_dialog_display 属性在设置为隐藏时有效。单击 Messenger 图标时,对话框只会保持打开状态,因为除非您登录 Messenger,否则无法关闭。
我遇到了同样的问题。 我做错的是我把我的 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,或检查控制台。如果出现问题,他们会给你错误。
您应该更改:
<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 标记放在一行中。对我有用