gpt4 book ai didi

firefox - Facebook Javascript SDK 窗口位置重新加载在 Firefox 上不起作用

转载 作者:行者123 更新时间:2023-12-03 15:18:19 26 4
gpt4 key购买 nike

我正在使用 Facebook Connect 构建一个网站,因此使用 Facebook Javascript SDK。
问题:使用 Firefox 时,页面在登录或注销后无法正确重新加载。

FB.Event.subscribe(
'{% if current_user %}auth.logout{% else %}auth.login{% endif %}',
function(response){
window.location.reload();
});

显然,它看起来像是一个已知问题(只需键入“window location reload not working on firefox”,您就会得到很多结果)

更准确地说,Firefox 在重新加载页面时似乎没有发送正确的 cookie...
- 当我点击登录时,一旦 Facebook 登录我并设置了 cookie,Firefox 就不会发送任何 cookie
- 当我点击注销时,一旦 Facebook 将我注销并删除 cookie,Firefox 就会发送之前存在的 cookie。
我得出结论它使用了一些“缓存功能”。

我试图按照 here 中的描述做出解决方法并实现了这一点:
redirect_url = encodeURIComponent(window.location.href);
url = window.location.href + "account/login?redirect_url=" + redirect_url;
window.location.replace(url);

但问题仍然存在(我猜是缓存......)你能帮我解决这个问题吗?

谢谢。

最佳答案

尝试以零延迟将 window.location.reload() 调用包装在 setTimeout() 中。显然,Firefox 会在设置 cookie 之前触发该事件。包装应该将重新加载调用放在事件队列中,并允许正确设置 cookie。

关于firefox - Facebook Javascript SDK 窗口位置重新加载在 Firefox 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7553037/

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