0

アクティビティフィードプラグインがどのように機能するかを基本的に理解したかったので、HTMLページに小さな例を設定して、どのように表示されるかを確認しました。コントロールを作成するためにFBMLメソッドを使用しています。問題は、フィードがレンダリングされていないことです。私が言ったように、私は物事がどのように機能するかをテストしたかったので、ドメインとしてhttp://www.facebook.comを使用しています。繰り返しますが、これは可能な限り単純ですが、コントロールのレンダリングが表示されません。これがそのエンティティの私のコードです:

<!DOCTYPE html>
<html>
  <head>
    <title>Facebook API Testing</title>
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
  </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&appId=myid";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

    <h1>Facebook API Testing</h1>
    <div>
    <fb:activity href="http://www.facebook.com" action="like" width="300" height="300" header="true" recommendations="true"></fb:activity>
    </div>
  </body>
</html>

いかなる種類のエラーも発生していません。何も見えません。ページを調べると、fbアクティビティフィードのマークアップがそこにあることがわかります。

<fb:activity href="http://www.facebook.com" action="like" width="300" height="300" header="true" recommendations="true"></fb:activity>

解決しました

これは解決されました。ローカルマシンでスタンドアロンのhtmlファイルから実行しようとすると、これは機能しないようです。上記をWebサーバーにアップロードしてページを表示すると、レンダリングされていました。

4

1 に答える 1

1

ローカル マシン上のスタンドアロンの html ファイルから実行しようとすると、これは明らかに機能しません。上記をウェブサーバーにアップロードしてページを表示すると、レンダリングが行われていました。

これは、JS SDK のアドレスが//connect.facebook.net– として指定されているためです。これにより、ブラウザーは、スクリプトを自動的に要求する際に HTTP を使用するか HTTPS を使用するかを選択できるようになります。もちろん、これは、ページ自体がこれら 2 つのプロトコルのいずれかによってアクセスされている場合にのみ機能します。file:// 経由でアクセスされた場合ではありません。

ローカル Web サーバーを使用してこのようなことをテストすることもhttp:、スクリプト アドレスの前に を自分で配置することもできます。

于 2012-10-06T08:20:01.903 に答える