单击 Facebook 登录按钮后重定向,即使已经登录 Facebook

2024-07-04

我的主页上有标准的 Facebook 登录按钮,我不希望人们仅在用户单击登录按钮时才使用其 Facebook 帐户自动登录我的网站。

如果用户未登录 Facebook,则会出现一个弹出窗口,询问他的凭据,然后他将被重定向到loggedin.html在那之后。

<div id="fb-root"></div>
<fb:login-button perms="email"></fb:login-button>

<script>
    window.fbAsyncInit = function() {
        FB.init({
            appId  : 'xxxxxxxxxxxx',
            status : true,
            cookie : true,
            xfbml  : true
        });

        FB.Event.subscribe('auth.login', function() {
            window.location = "loggedin.html";
        });
    };

    (function() {
        var e = document.createElement('script');
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
    }());
</script>

如果用户已经登录 Facebook,当他单击按钮时,弹出窗口会立即出现并消失,我对此表示同意。但用户没有被重定向到loggedin.html。我怎样才能做到这一点 ?


如果您使用PHP SDK,则可以使用以下代码:

require_once 'path/to/facebook.php';
define('A_ID', '*YOUR APP ID*');
define('A_SECRET', 'YOUR APP SECRET');

$facebook = new Facebook(array('appId' => A_ID, 'secret' => A_SECRET, 'cookie' => true));
$userId = $facebook->getUser();

if (!$userId):
  ?>
    <!-- HTML to show if the $userId isn't available (user isn't logged in) -->
  <?php
else:
  ?>
    <!-- HTML to show if the $userId is available (user is logged in)-->
  <?php
endif;

理想情况下,您应该使用 PHP SDK,因为与使用 JS SDK 插入数据相比,它可以让您更好地控制数据及其显示方式。

Facebook 这里有 PHP SDK 的参考:Developers.facebook.com/docs/reference/php/ https://developers.facebook.com/docs/reference/php/

JavaScript SDK 参考在这里:Developers.facebook.com/docs/reference/javascript/ https://developers.facebook.com/docs/reference/javascript/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单击 Facebook 登录按钮后重定向,即使已经登录 Facebook 的相关文章

随机推荐

  • 红宝石数学宝石

    有谁知道是否有适合数学 几何运算的好宝石 我需要一些这样的东西 点积 叉积 向量之间的角度 Matrix 表面法线 向量计算 加 减 奇异值分解 thx tux 我强烈推荐Ruby GSL http rb gsl rubyforge org
  • 将 data.table 转换为数据框而不复制[重复]

    这个问题在这里已经有答案了 本问答集 https stackoverflow com questions 20345022 convert a data frame to a data table without copy询问如何在不复制的
  • matlab的imregionalmax()和scipy.ndimage.filters.maximum_filter有什么区别

    我需要找到图像的区域最大值以获得用于分水岭分割的前景标记 我在 matlab 中看到使用该函数imregionalmax http www mathworks com help images ref imregionalmax html 由
  • 像 peek and pop 一样手动振动 iPhone 6S?

    如何手动触发类似单击的振动 就像使用 peek pop 或应用程序快捷方式时发生的振动一样 这个方法很容易实现 而且效果非常好 我自己尝试过 import AudioToolbox AudioServicesPlaySystemSound
  • 角度错误:没有 NgControl 的提供者

    我正在创建一个实现 ControlValueAccessor 的组件 以在响应式表单中使用 它只是输入元素的包装器 上面有一些管道 我注入了 NgControl 以便检索有效 无效状态并将它们传播到内部输入元素 当在另一个输入中找到输入值时
  • 如何使用插入符号和 glmnet 应用套索逻辑回归?

    我试图重复以下代码行 x mat lt as matrix train df predictors y class lt train df Response cv lasso fit lt cv glmnet x x mat y y cla
  • 单声道高分辨率计时器(在 Linux 上)

    我正在将一个以 50 毫秒轮询 用于串行通信 的 Windows C 应用程序移植到 Linux 使用 Mono 我们当前使用 ZylTimer 由 ZylSoft 提供 在每个时间间隔生成 tick 事件 但是由于该库将 pInvoke
  • 强参数允许嵌套属性的所有属性

    有办法进去吗参数强 https github com rails strong parameters允许 a 的所有属性嵌套属性模型 这是示例代码 class Lever lt ActiveRecord Base has one lever
  • 如何在运行时创建对象?

    我需要在运行时创建一个类的多个不同对象 这个数字也是在运行时确定的 就像我们在运行时得到 int no o objects 10 一样 然后我需要实例化一个类10次 Thanks 阅读Java 教程中的数组 http java sun co
  • 如何在 Visual Studio 2017 中更新 Django

    我正在尝试设置 Visual Studio 2017 进行 Django 开发 但 Django 1 9 版本很旧 如何将其更新到最新版本 gt 2 0 使用建议的安装创建 Django Web 项目 为您的环境命名 选择 Python环境
  • 汇编语言:cbw

    我不确定是什么cbw命令确实如此 我有一段代码 mov ax 0FF0h cbw idiv ah cbw后ax的值如何变化 The cbw指令将一个字节符号扩展为一个字 在这种情况下 它将采用符号位AL 恰好是1 并将其复制到每一位AH 这
  • Java自动将集合转换为参数数组?

    我知道Java 数组参数语法可以接收数组作为参数 或者只是传递给方法的许多参数 然而 我注意到它对于集合也是如此 public static void main String args Collection objects new Arra
  • 如何获取消息框中的文本和变量

    我只需要知道如何在消息框中包含纯文本和变量 例如 我可以做这个 MsgBox variable 我可以这样做 MsgBox Variable 但我不能这样做 MsgBox Variable variable 正如所建议的 使用 string
  • iOS 11 和 XCode 9.3 - HTTP 加载失败

    iOS11 设备偶尔会出现此错误 HTTP 加载失败 错误代码 1005 1 54 该应用程序正在连接到 https json Web 服务 当它在前台时 一切都运行顺利 计时器正在执行 Web 服务调用 但有时 无法始终复制问题 当应用程
  • 如何将angularjs变量值分配给html元素属性,例如输入elememnt的name属性

    我对 Angular 完全陌生 我有一个 AngularJS scope 变量 scope testme inputname 我想将此变量值分配给 html 元素的 name 属性 我想 结果如下
  • 这些 strace 系统调用是什么意思?

    我需要分析我正在使用 strace 的应用程序的性能 但是 我真的不知道如何解释 strace 发出的各种系统调用 其中一些示例如下 A lseek 3 1600 SEEK SET 1600 B write 3 G DATA 300 0 8
  • jquery中的ontouchstart和ontouchend?

    我目前正在对要更改触摸类的每个元素使用以下内容 ontouchstart this addClass select ontouchend this removeClass select 我想知道是否有这样的事情 element touchs
  • 未找到特征“Venturecraft\Revisionable\RevisionableTrait”

    我正在使用 laravel 4 我想跟踪对表进行的所有交易的历史记录 我按照这些步骤操作 added venturecraft revisionable 1 在作曲家 json php composer phar update 在我的项目的
  • HBase 无法在 Windows 上以独立模式启动

    我下载了HBase 1 0 1在我的 Windows 机器上 无法启动它 我收到以下错误消息 C Users admin Downloads hbase 1 0 1 gt bin start hbase cmd Error Could no
  • 单击 Facebook 登录按钮后重定向,即使已经登录 Facebook

    我的主页上有标准的 Facebook 登录按钮 我不希望人们仅在用户单击登录按钮时才使用其 Facebook 帐户自动登录我的网站 如果用户未登录 Facebook 则会出现一个弹出窗口 询问他的凭据 然后他将被重定向到loggedin h