1

開発者サイトの例を使用します。

FB.ui(
  {
    method: 'feed',
    name: 'Facebook Dialogs',
    link: 'https://developers.facebook.com/docs/reference/dialogs/',
    picture: 'http://fbrell.com/f8.jpg',
    caption: 'Reference Documentation',
    description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'
  },
  function(response) {
    if (response && response.post_id) {
      alert('Post was published.');
    } else {
      alert('Post was not published.');
    }
  }
);

次のものが返されます。

Error: element not specified
innerError: undefined
message: "element not specified"

最初は「fb-root」要素が欠落していると思っていましたが、体内にあります。

<body onLoad="onLoad()">
    <div id="fb-root"></div>
</body>

最初のページが読み込まれると本文がクリアされるため、Backbone/jQuery Mobile の使用に関係があると考えています。しかし、FBオブジェクトはロードされているので、何が悪いのか本当にわかりません。これを試して修正するためのアイデアはありますか?

ありがとう。

4

1 に答える 1

0

私は同じ問題を抱えていましたが、それが Chrome だけで起こっていることがわかりました。どのブラウザを使用していますか? 私にとってうまくいったのは指定することでした

display: 'popup'

FB.ui {}内

現時点では、ブラウザを確認し、Chrome の場合は「popup」を使用し、そうでない場合は「iframe」を使用します

  var display = 'iframe';

  if (navigator.userAgent.toLowerCase().indexOf("chrome") != -1){
          display = "popup"
  }

  FB.ui({
        method: 'share',
        display: display,
        href: 'https://developers.facebook.com/docs/reference/dialogs/'
        },
   function (response) {}
  );

フィードでも動作するはずですが、まだテストしていません。

于 2014-08-13T13:17:36.310 に答える