繁体   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