Facebook分享:重新认证问题

时间:2014-10-05 13:55:05

标签: javascript facebook facebook-graph-api facebook-javascript-sdk

我使用javascript sdk面对Facebook的分享对话框的问题。

我的分享对话框如下(完美)在以下两种情况下工作:

  1. 如果我的网站已打开且未登录Facebook,然后单击“共享”,则会要求我登录,然后打开共享对话框。

  2. 如果我的网站已打开且已登录Facebook,然后点击共享,则会直接打开共享对话框。

  3. 然而,

    1. 如果我在登录Facebook时打开我的网站,然后从Facebook注销而不重新加载我的网站,然后点击分享按钮,它会坚持并继续加载。
    2. 如果我已经从Facebook登出然后打开我的网站并点击分享按钮,那么它适用于我上面提到的所有3个案例。

      代码:

      <script type="text/javascript" src="//connect.facebook.net/en_US/all.js"></script>
      
      <script type="text/javascript">
          //Initialize facebook
          FB.init({
              appId : 'MY_APP_ID',
              xfbml : true,
              version : 'v2.0'
          });
      </script>
      
      <script type="text/javascript">
          $("#post_image_href").click(function(e) {
              /* Important Variables */
              var url='';
              var imgToShare = '';
              var currentUrl = window.location.href.split('?')[0];
              var title=document.title;
              e.preventDefault();
              imgToShare =$('#wrap22 img:first').attr('src');
              imgToShare = encodeURIComponent(imgToShare);
      
              FB.ui( {
                  method: "share",
                  href: currentUrl+"?imgToShare="+imgToShare
              },function(response){
                  if (response && !response.error_code) {
                      $('#facebook_sharing').modal("show");
                      $('#share_result').html("Your image has been shared successfully.");
                      setTimeout(function(){
                          $('#facebook_sharing').modal("hide");
                      }, 2000);
                  }
              });
          });
      </script>
      

0 个答案:

没有答案