[英]facebook login and like button javascript conflicting
這是此處使用的登錄 javascript
<script> logInWithFacebook = function() {
FB.login(function(response) {
if (response.authResponse) {
alert('You are logged in & cookie set!');
// Now you can redirect the user or do an AJAX request to
// a PHP script that grabs the signed request from the cookie.
} else {
alert('User cancelled login or did not fully authorize.');
}
});
return false;
};
window.fbAsyncInit = function() {
FB.init({
appId: '1166049000075578',
cookie: true, // This is important, it's not enabled by default
version: 'v2.4'
});
};
(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 = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
//Onclick for fb login
jQuery(document).ready(function($) {
$('#facebook1').click(function(e) {
FB.login(function(response) {
if(response.authResponse) {
parent.location ='Someurl'; //redirect uri after closing the facebook popup
}
},{scope:'email,public_profile,user_friends'}); //permissions for facebook
});
});</script>
現在這是使用的facbook Like按鈕腳本
<script>(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 = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.4&appId=1166049000075578 ";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
如果僅使用類似按鈕javacript和html代碼,則登錄腳本和like按鈕腳本都需要存在於同一頁面上,然后才能正常工作
但是在同一頁面上同時使用兩個腳本( login和like )會產生問題
當我升級到Facebook SDKv5時,問題開始了
使用它的網站
如果你看一下代碼,你會發現代碼剪斷你被點名了“facbook Like按鈕腳本”只是另一個代碼的第剪斷你被點名了“登錄啟用JavaScript”。
這意味着,如果您已經可以使用Facebook登錄的代碼,則只需為“喜歡”按鈕添加需要添加的代碼的<script>
部分。
這組代碼重復兩次
<script>(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 = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.4&appId=1166049000075578 ";
fjs.parentNode.insertBefore(js, fjs);
(document, 'script', 'facebook-jssdk'));</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.