0 レビュー
1 回答
php-自動ロードの代わりにリンクをクリックしてFacebookLivechatを開始しますか?
FBは数か月前にLivechatAPIをリリースしました。次のコーディングを追加すると、右下隅に小さなアイコンがポップアップ表示されます。
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'your-app-id',
autoLogAppEvents : true,
xfbml : true,
version : 'v2.11'
});
};
(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.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-customerchat" page_id="PAGE_ID"></div>
つまり、訪問者がWebサイトにアクセスすると、自動ロードされます。
私の質問は、自動読み込みの代わりにリンクをクリックしてこのライブチャットを開くことは可能ですか?
<a href="#">Click here to start FB livechat!</a> // something like this
わからない
0
レビュー
答え :
解決策:
ボタンクリックイベントでFB.initをラップします。そうすれば、他の何かをクリックするまでチャット要素が初期化されません。
プレーンなJavaScriptメソッド:
<script>
var narf = function() {
FB.init({
appId : 'your-app-id',
autoLogAppEvents : true,
xfbml : true,
version : 'v2.11'
});
};
(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.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-customerchat" page_id="PAGE_ID"></div>
<button onclick="narf();">Start Chat</button>
jQueryメソッド:
<script>
$(function() {
$("#openchat").click(function(){
FB.init({
appId : 'your-app-id',
autoLogAppEvents : true,
xfbml : true,
version : 'v2.11'
});
});
});
(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.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-customerchat" page_id="PAGE_ID"></div>
<button id="openchat">Start Chat</button>
標準のJavaScriptでのXFBML解析メソッドの遅延(CBroeによる注記):
<script>
var narf = function() {
FB.XFBML.parse(document.getElementById('chat-wrapper'));
};
window.fbAsyncInit = function() {
FB.init({
appId : 'your-app-id',
autoLogAppEvents : true,
xfbml : false,
version : 'v2.11'
});
};
(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.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div id="chat-wrapper">
<div class="fb-customerchat" page_id="PAGE_ID"></div>
</div>
<button onclick="narf();">Start Chat</button>
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。