FB.ui返回错误:未指定元素

时间:2013-03-15 17:48:40

标签: facebook jquery-mobile facebook-javascript-sdk

使用the example from the developer site:

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对象已加载,所以我真的不知道出了什么问题。有任何想法尝试解决这个问题吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我发现只有Chrome才会发生这种情况。您使用的是哪种浏览器? 对我有用的是指定

display: 'popup'

在FB.ui {}

目前我检查浏览器以及我是否使用了弹出式广告&#39;如果没有,请使用iframe&#39;

  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) {}
  );

也应该使用Feed,但我还没有测试过它。