簡體   English   中英

Facebook登錄和喜歡按鈕JavaScript沖突

[英]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按鈕腳本都需要存在於同一頁面上,然后才能正常工作
但是在同一頁面上同時使用兩個腳本( loginlike )會產生問題
當我升級到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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM