0

我正在制作一个 facebook 应用程序,一切似乎都完成了。这是示例流程(index.php):

  1. seekpermission.php

  2. 进程信息.php

  3. 生成结果.php

  4. poststatus.php(文档中所述的 javascript 方式)

  5. 邀请朋友.php(文档中提到的 javascript 方式)

希望名称是不言自明的。问题是更新状态和邀请朋友的对话几乎是同时出现的,但我想要的是一旦用户发布/跳过状态消息,只有邀请朋友的对话才应该出现。这是我尝试过的,但它不起作用,请帮助谢谢!

 FB.ui(
    {
        method: 'feed',
        name: 'name goes here',
        link: 'http://apps.facebook.com/****/',
        picture: '<?php echo $imageurl; ?>',
        caption: 'here is caption',
        description: 'the description',
        message: '<?php echo $charecter; ?>'
    },
    function(response) {
    if (response && response.post_id) {
    alert('<?php include "invitefriends.php"; ?>');

    } else {

    alert('<?php include "invitefriends.php"; ?>');

 }

这是invitefriends.php

<body>
   <div id="fb-root"></div>
   <script src="http://connect.facebook.net/en_US/all.js">
   </script>
   <script>
     FB.init({ 
       appId:'2****', cookie:true, 
       status:true, xfbml:true 
     });

     FB.ui({ method: 'apprequests', 
       message: 'Folks check out my new facebook app!! visit http://apps.facebook.com/**** '});
   </script>
   </body>
4

1 回答 1

0

好吧,这是完成一项简单任务的一种奇怪方法:
您可以将第 4 步和第 5 步合并为一个步骤:

FB.ui(
    {
        method: 'feed',
        name: 'name goes here',
        link: 'http://apps.facebook.com/****/',
        picture: '<?php echo $imageurl; ?>',
        caption: 'here is caption',
        description: 'the description',
        message: '<?php echo $charecter; ?>'
    },
    function(response) {
        FB.ui({ method: 'apprequests', 
        message: 'Folks check out my new facebook app!! visit http://apps.facebook.com/**** '});
        /* if (response && response.post_id) {
            alert('<?php include "invitefriends.php"; ?>');

        } else {

            alert('<?php include "invitefriends.php"; ?>');

        } */
    }
)

如您所见,不需要,if else因为无论如何您都会强制邀请!

现在,如果您真的需要使用您的方法,那么您可以使用类似(在response

location.href='<?php echo 'path/to/invitefriends.php';

重要提示:
很可能您的所有5 个步骤都可以合并到一个文件中,这样会更好,因为:

  1. 您不需要加载和初始化 JS 库五次
  2. 会是更好的用户体验而不是每次都加载
  3. 您可以将所有 Facebook 调用包装在 JS 函数中,然后在前一个函数的响应中调用每个函数!
于 2011-03-20T12:33:13.393 回答