0

ここに同様の問題が投稿されているのを見て、意味のある解決策をできるだけ多く追加しました(HTML Docの変更、スクリプト/ボタンの再配置と並べ替え)が、ボタンはレンダリングされるだけで、Firefoxではクリック可能です。

Facebookのタブ/ページのインターフェースはここにあります:facebook.com/TodaysAesthetics/app_157293451075619

リンクをクリックすると、ホストされているページが表示されます...(これ以上リンクを投稿できません)

FB設定:アプリドメイン:wwwありとなしでホストされているサイト(wwwが原因である可能性があると読みました)FacebookログインのあるWebサイト->サイトURL:DOMAIN / facebook /(DOMAIN /facebook/とDOMAIN/facebook / todaysを試しました)

これが私のコードです:

    <?php 
          define('YOUR_APP_ID', '[edit]');
          define('YOUR_APP_SECRET', '[edit]');
          function get_facebook_cookie($app_id, $application_secret) {
          $args = array();
          list($encoded_sig, $payload) = explode('.', $_COOKIE['fbsr_' . $app_id], 2);
          $sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
          $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
          if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
             return null;
          }
          $expected_sig = hash_hmac('sha256', $payload,
          $application_secret, $raw = true);
          if ($sig !== $expected_sig) {
              return null;
          }
          $token_url = "https://graph.facebook.com/oauth/access_token?"
         . "client_id=" . $app_id . "&client_secret=" . $application_secret.     "&redirect_uri=" . "&code=" . $data['code'];
          $response = @file_get_contents($token_url);
          $params = null;
          parse_str($response, $args);
          return $args;
        }
          $cookie = get_facebook_cookie(YOUR_APP_ID, YOUR_APP_SECRET);
          if ($cookie) {
               $user = json_decode(file_get_contents('https://graph.facebook.com    /me?access_token=' . $cookie['access_token']));
        }
    ?>
          <?php if ($cookie) { ?>
 <form>
              <input type="button" id="hide" value="Print" onClick="printc()">
            </form>
          [MY COUPON IMAGE]
            <?php } else { ?>
            <fb:login-button scope="email,user_birthday,user_location" onlogin="window.location.reload()" autologoutlink="true">Connect to Facebook to View Special</fb:login-button>
                      <?php } ?>
                <div id="fb-root"></div>
            <script src="http://connect.facebook.net/en_US/all.js"></script>
            <script>
              FB.init({appId: '<?= YOUR_APP_ID ?>', status: true,
                       cookie: true, xfbml: true,oauth:true});
              FB.Event.subscribe('auth.login', function(response) {
                window.location.reload();
              });
            </script>

他に情報を提供できるかどうか、または回答を逃した場合はお知らせください。これらのスクリプトとdivなどの順序を変更しようとしましたが、この時点で何でも試します。ありがとう

4

1 に答える 1

3

HTTPを使用してJSSDKを埋め込んだため、ChromeとIEは、ページがHTTPS経由で要求されたときに実行されないようにブロックします。(これは、これらのブラウザのエラーコンソールを調べたばかりの場合は、簡単に見つけることができたものです。この種のデバッグツールに慣れて、将来使用してください!)

それ以外の

<script src="http://connect.facebook.net/en_US/all.js"></script>

使用する

<script src="//connect.facebook.net/en_US/all.js"></script>

–これにより、ブラウザが適切なプロトコル自体を選択できるようになります。

于 2012-09-27T09:52:31.253 に答える