1

私は次のようにフィードポストJSを持っています。

var feedObj = {
    method: 'feed',
    link: link,
    picture: imagelink,
    name: name,
    caption: caption,
    description: description,
    redirect_uri: "http://"+(window.location.host)+"/",
    next:null,
    app_id: appid,
    actions: [
        { name: text, link: link }
    ]
};

function callback(response) {
    if(response){
    }
}
facebook.ui(feedObj, callback);

クリックして投稿したフィード ダイアログが自動的に閉じるようにするにはどうすればよいですか?
コールバックが常に起動されるとは限らず、以下のこの試みが常に機能するとは限らないことに気付きました

function callback(response) {
    if(response){
        facebook.Dialog.remove(facebook.Dialog._active);
    }
}
4

2 に答える 2

7

このダイアログ ボックスを閉じる簡単な方法があります。この種の作業を行うのは良い方法ではありませんが、私にとってはうまくいきました.

まず、サーバー上にページを作成し (例: closewindow.aspx)、このコードをページの本文部分に貼り付ける必要があります。

<script src="js/jquery.js" type="text/javascript"></script>
<script>
  $().ready(function() { window.close(); });
</script>

redirect_uri次のように、このページにパラメーター プロパティを設定するよりも:

redirect_uri=http://www.yousitename.com/closewindow.aspx

今度はダイアログ ボックスで、このページは redirecturl として呼び出され、ダイアログはページの読み込み時に自動的に閉じられます。

これはトリッキーかもしれませんが、これが機能したときの気持ちはわかります。

于 2012-09-06T10:23:01.187 に答える
4

ドキュメントによると、nextはパラメータではありません。

私はredirect_uriでコールバックが呼び出されていないことを理解しました。redirect_uriはほとんどのSDKでサポートされているため、使用する必要はありません。

デモ

お役に立てれば

于 2012-05-24T09:26:36.747 に答える