0

我从此处的 facebook 官方示例中获取了 facebook 登录按钮示例。这是代码(没有任何更改)。

<html>
<head>
  <title>My Facebook Login Page</title>
</head>
<body>
  <div id="fb-root"></div>
  <script>
    window.fbAsyncInit = function() {
      FB.init({
        appId      : '385937518116668',
        status     : true, 
        cookie     : true,
        xfbml      : true,
        oauth      : true,
      });
    };
    (function(d){
       var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
       js = d.createElement('script'); js.id = id; js.async = true;
       js.src = "//connect.facebook.net/en_US/all.js";
       d.getElementsByTagName('head')[0].appendChild(js);
     }(document));
  </script>
  <div class="fb-login-button">Login with Facebook</div>
</body>

按原样运行此示例时,一切正常。但是,一旦我删除了 html、head 和 body,我就看不到 facebook 登录按钮。我看到的只是“使用 facebook 登录”文本。我想删除这些标签的原因是该页面包含在另一个 php 文件中。

有任何想法吗?

谢谢。

4

1 回答 1

1

以下对我有用:

facebookLogin.html.php

<html>
<head>
    <title>My Facebook Login Page</title>
</head>
<body>
<?php
    include 'fblogin.html';
?>
</body>
</html>

fblogin.html 文件的内容是:

<div id="fb-root"></div>
  <script>
    window.fbAsyncInit = function() {
      FB.init({
        appId      : '385937518116668',
        status     : true, 
        cookie     : true,
        xfbml      : true,
        oauth      : true,
      });
    };
    (function(d){
       var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
       js = d.createElement('script'); js.id = id; js.async = true;
       js.src = "//connect.facebook.net/en_US/all.js";
       d.getElementsByTagName('head')[0].appendChild(js);
     }(document));
  </script>
  <div class="fb-login-button">Login with Facebook</div>
于 2012-06-01T22:01:43.673 回答