2013-04-17 77 views
0

我在代码中使用的Facebook式按钮无法正常工作。我已经完成了所有必要的事情:将JavaScript代码放在body标签下方,将其他div标签放置在我希望按钮出现的地方,但我没有成功。这里是我的代码:类似Facebook的按钮不起作用

<head> 
    <meta charset="UTF-8" /> 
    <title>Riparian Preserve Survey</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="bootstrap-responsive.min.css"type="text/css"/> 
    <link rel="stylesheet" href="bootstrap.css" type="text/css"/> 
    <script src="jquery-1.9.1.js"></script> 
    <script src="bootstrap.min.js"></script> 
    <script src="bootstrap.js"></script> 

    <style> 
     img { 
      max-width: 100%; 
     } 
     body{ 
      background-color: #A4A4A4 ; 
     } 
    </style> 
</head> 
    <body> 
<div id="fb-root"></div> 
<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/all.js#xfbml=1"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk'));</script>  
... 
<div class="fb-like" data-href="https://www.facebook.com/GilbertTownHall"data- send="true" data-width="450" data-show-faces="false"></div> 

回答

1

Facebook使用的SDK我相信是先加载,这是在他们的网站你有没有试过这个?

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    // init the FB JS SDK 
    FB.init({ 
     appId  : 'YOUR_APP_ID',      // App ID from the app dashboard 
     channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel file for x-domain comms 
     status  : true,         // Check Facebook Login status 
     xfbml  : true         // Look for social plugins on the page 
    }); 

    // Additional initialization code such as adding Event Listeners goes here 
    }; 

    // Load the SDK asynchronously 
    (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/all.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
</script> 
+0

@jhearx .corp嘿家伙我试过你的两个版本,但仍然不是固定的 – user2288958

+0

我喜欢做的一些事情是创建一个空白的html页面,然后在其中插入代码片段。这样我可以确保不同的脚本,div分层或样式不会导致问题。你能试试吗? ,这也使我能够验证代码是否正确。 – ShaneTheTech

+0

是的我可以尝试,但我找到了一个替代方案,将它带到FACEBOOK页面,但我现在会尝试这个权利,尽快回到你身边 – user2288958

0

尝试一些类似这样的:

window.fbAsyncInit = function() { 
    if (FB.init) return; 
    // init the FB JS SDK 
    FB.init({ 
     appId: 'YOUR_APP_ID', // App ID from the App 
     //channelUrl: '//' + window.location.hostname + '/channel.html', 
     //This to get the user details back from Facebook 
     //scope: 'id,name,gender,user_birthday,email', etc 
     status: true, // check the login status upon init? 
     cookie: true, // set sessions cookies to allow your server to access the session? 
     xfbml: true // parse XFBML tags on this page? 
    }); 
} 

在HTML正文结束...

<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.async = true; 
     js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; 
     fjs.parentNode.insertBefore(js, fjs); 
    } (document, 'script', 'facebook-jssdk')); 
</script> 

您也可以使用FB嵌入式的iframe
Facebook Like Button Reference