如何在单个 html 链接中进行双重重定向?

Posted

技术标签:

【中文标题】如何在单个 html 链接中进行双重重定向?【英文标题】:How to do a double redirect in a single html link? 【发布时间】:2012-01-02 15:06:48 【问题描述】:

我正在使用 codeigniter,我只是想知道如何从会话和 Facebook 断开单个链接?

让我解释一下,我在一些 $data 中存储了一些 FB 信息 我还为用户设置了会话

当我按下注销按钮时 user/logout()">DeconnexionFB

我在用户控制器中调用了一个注销函数。 这是函数:

public function logout()

    $this->session->sess_destroy();
    $fb_data=NULL;

    redirect('site','refresh');

但是我想要同时从 fb 访问注销 url 以断开用户与其 FB 会话的连接,因为我需要一个指向外部 URL 的锚点。 删除 $fb_data 并销毁我的会话后,如何将我的网站自动重定向到控制器内的该地址?

这样的锚: 断开连接

谢谢你的回答:)

【问题讨论】:

【参考方案1】:

如果您还没有,我会将适用于 facebook 的 javascript SDK 添加到您的网站,方法是添加:

<div id="fb-root"></div>
<script>
 window.fbAsyncInit = function() 
  FB.init(
   appId      : 'YOUR_APP_ID', // App ID
   channelURL : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
   status     : true, // check login status
   cookie     : true, // enable cookies to allow the server to access the session
   oauth      : true, // enable OAuth 2.0
   xfbml      : true  // parse XFBML
  );
  // Additional initialization code here
 ;
 // Load the SDK Asynchronously
 (function(d)
  var js, id = 'facebook-jssdk'; if (d.getElementById(id)) return;
  js = d.createElement('script'); js.id = id; js.async = true;
  js.src = "//connect.facebook.net/en_US/all.js";
  d.getElementsByTagName('head')[0].appendChild(js);
 (document));
</script>

复制自http://developers.facebook.com/docs/reference/javascript/

然后在你的代码中你会调用:

FB.logout(function(response) 
  // user is now logged out
);

复制自http://developers.facebook.com/docs/reference/javascript/FB.logout/

这样您就不必重定向到另一个页面,而是在您的注销页面中调用它。但请注意,有些人不希望在登出您的网站的同时也登出 Facebook。

【讨论】:

以上是关于如何在单个 html 链接中进行双重重定向?的主要内容,如果未能解决你的问题,请参考以下文章

发现 http 到 https 的双重重定向

双重重定向测试

在角度 UI 路由器中单击时重定向到相应的单个产品页面

在 Mailchimp 活动中发送断开的链接 - 如何进行批量重定向?

IIS 将 www 重定向到非 www 和 http 到 https:是不是可以仅使用一个重定向来完成?

如何在不重新加载 HTML 页面的情况下重定向锚标记链接?