gpt4 book ai didi

facebook - 从公共(public)信息亭在 Facebook 上分享 - 用户无法从 FB 注销!

转载 作者:行者123 更新时间:2023-12-02 19:50:37 25 4
gpt4 key购买 nike

我有一个网站,旨在在公共(public)事件的信息亭上运行。我希望用户能够在 Facebook 上共享此网站的页面,而无需保持 Facebook session 处于登录状态。这不是 Facebook Connect 网站(无需登录即可与 FB 同步),我拥有的只是一个用于共享该页面的链接转到 Facebook 的 sharer.php:

<a href="http://www.facebook.com/sharer.php?u="http://mysite.com/mypage" target="_blank">share this</a>

它允许用户登录并发布链接,但随后关闭窗口并让用户保持登录状态。没有注销选项,因此下一个出现并想要共享的用户拥有上一个用户的FB帐户已登录!

似乎最近 Facebook 的 UI 发生变化时,情况也发生了变化;以前,它会在发布后重定向到用户的个人资料页面,用户可以从中注销。

我该如何解决这个问题?关于允许从公共(public)信息亭与 FB 共享的“正确方法”有什么建议吗?

编辑:我已在 bugs.developers.facebook.com ( http://bugs.developers.facebook.com/show_bug.cgi?id=9903 ) 上输入增强请求,以便在需要登录时让 sharer.php 自动注销用户。请投票以获得FB的关注!

我当前的解决方案是使用 Conceal 的 iframe(代码如下)在 window.onbeforeunload 事件中强制从 facebook 注销。我的网站目前仅适用于公共(public)信息亭,因此这是可以接受的。对于供家庭公共(public)和私有(private)使用的网站,这可能过于暴力并且会惹恼用户。

window.onbeforeunload = function() {
if (do_fb_logout) {
iframe = document.createElement("iframe");
iframe.setAttribute('width', '0px');
iframe.setAttribute('height', '0px');
iframe.setAttribute('frameborder', '0');
document.body.appendChild(iframe);
doc = iframe.contentDocument;
if (doc == undefined || doc == null)
doc = iframe.contentWindow.document;
doc.open();
doc.write("<html><head></head><body>");
doc.write("<form id=fbForm name=fbForm method=POST action=http://www.facebook.com/logout.php >");
doc.write("<input type=hidden name=confirm value=1 /></form>");
doc.write("<script type='text/javascript'>document.getElementById('fbForm').submit();</"+"script>");
doc.write("</body></html>");
doc.close();
}
}

到目前为止,我已经在 Windows 浏览器 FF 3.6、IE 7 和 Chrome 上对此进行了测试。

最佳答案

我想到的一个想法是为链接指定一个target='_blank',同时使用 JavaScript 将“母”页面重定向到 Facebook 主页。这样,当窗口关闭时,用户至少会看到 Facebook。

但是,该页面将显示“未登录”状态,因为它是在用户登录之前调用的。除了一些丑陋的框架集经常刷新 Facebook 页面之外,想不出解决该问题的方法 - 呃。

想到的另一种方法是使用 JavaScript 打开共享者链接 mywindow = window.open("http://www.facebook.com/......") 和然后频繁轮询 mywindow 是否仍然存在。如果没有(= 窗口已关闭),则重定向到 Facebook 主页,该主页将显示用户的个人资料和注销按钮。不过,也因为它复杂且不稳定。嗯。

请务必将此作为错误报告给 Facebook,您可能不是唯一遇到此问题的人。

关于facebook - 从公共(public)信息亭在 Facebook 上分享 - 用户无法从 FB 注销!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2700644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com