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 回答