Javascript Facebook登录按钮重定向到MS Edge上的空白页面

Javascript Facebook登录按钮重定向到MS Edge上的空白页面,javascript,facebook,facebook-javascript-sdk,facebook-login,microsoft-edge,Javascript,Facebook,Facebook Javascript Sdk,Facebook Login,Microsoft Edge,这个问题对我来说已经不是问题了。Facebook不再允许你在网上分享/发布照片。至于登录问题,我不知道建议的解决方案解决了这个问题,因为我不再处理这个问题。 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 我正在开发一个用于共享目

这个问题对我来说已经不是问题了。Facebook不再允许你在网上分享/发布照片。至于登录问题,我不知道建议的解决方案解决了这个问题,因为我不再处理这个问题。 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

我正在开发一个用于共享目的的登录按钮。按钮和共享功能在除MS Edge之外的所有浏览器上都非常有效。它曾经在Edge 25上工作(我现在在Edge 38上)

问题是,当我单击登录按钮时,会出现一个登录弹出窗口,我可以在其中输入凭据。一旦输入并尝试登录,弹出窗口将不会关闭并重定向到此地址:

https://www.facebook.com/v2.1/dialog/oauth?app_id=141515299765971&auth_type=&channel_url=http%3A%2F%2Fstaticxx.facebook.com%2Fconnect%2Fxd_arbiter%2Fr%2FlY4eZXm_YWu.js%3Fversion%3D42%23cb%3Df2de29c1e9204f4%26domain%3Dikeabuilds.sandbox3.2020.net%26origin%3Dhttp%253A%252F%252Fikeabuilds.sandbox3.2020.net%252Ff1deb23126bcc0c%26relation%3Dopener&client_id=141515299765971&display=popup&domain=ikeabuilds.sandbox3.2020.net&e2e=%7B%7D&locale=en_US&logger_id=80452c59-88a0-7681-0f2c-ac690c1d62b8&origin=1&redirect_uri=http%3A%2F%2Fstaticxx.facebook.com%2Fconnect%2Fxd_arbiter%2Fr%2FlY4eZXm_YWu.js%3Fversion%3D42%23cb%3Df1aa391653df35c%26domain%3Dikeabuilds.sandbox3.2020.net%26origin%3Dhttp%253A%252F%252Fikeabuilds.sandbox3.2020.net%252Ff1deb23126bcc0c%26relation%3Dopener%26frame%3Df7b23e2a9aa328&ref=LoginButton&response_type=none%2Ctoken%2Csigned_request&scope=publish_actions&sdk=joey&seen_revocable_perms_nux=false&version=v2.1
我被认为没有登录过。我在网上搜索了很多,甚至阅读了关于登录按钮的文档,除了只有一种解决方法外,什么也没找到。它包括在windows的internet选项中将facebook url添加到受信任的站点。这不是一个可行的解决办法,因此对我来说也不是一个解决办法。图像是脸谱网登录HTML页面的代码,空白重定向页面和包含登录按钮的页面。我还有一个.js页面,包含所有与facebook相关的功能,但不能放在一张图片中,如果需要,我会提供它。发生了什么事

facebook登录按钮

重定向链接

包含facebook登录按钮的页面的html代码


我认为您必须将javascript SDK留给一个更可定制的解决方案,名为

您可以这样编写自定义按钮,而不是使用
fb:login按钮

<a href="https://www.facebook.com/v3.0/dialog/oauth?client_id={app-id}&redirect_uri={redirect-uri}&state={state-param}">Log-in to my app</a>


并使用可使用自定义代码处理的应用程序html页面url自定义
redirect_uri
参数,例如,感谢消息和超时

根据我的测试,我能够重现您的问题,但我不确定您的情况是否如此

相同的问题发生在MS边缘或IE <强>块弹出< /强>时,用户选择“<强>允许曾经/<强>”弹出窗口,当弹出窗口尝试<强>重定向< /强>时,得到空白页(被阻塞)。< /P> 如果选择“始终允许”,弹出窗口将重定向并正确关闭

要克服这一点,您所能做的实际上是启用

  • 登录重定向
  • 让重定向在您的域中放置cookie
  • 使用Facebook JS SDK并检查用户是否已连接
因此,首先启用登录重定向:

然后做:

FB.init({
  appId            : 'APP_ID',
  autoLogAppEvents : true,
  cookie           : true,  // <-- use this
  xfbml            : true,
  version          : 'v3.0'
});
var uri = encodeURI('http://test.gr');
FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
        console.log(response.status); // should log connected.

    } else {
       window.location = 'https://www.facebook.com/v3.0/dialog/oauth?client_id=APP_ID&redirect_uri='+encodeURI(uri)+'&display=popup&scope=user_status&response_type=token&version=v3.0';
    }
});
FB.init({
appId:“APP_ID”,
自动假肢:对,

cookie:true,//很可能是浏览器如何处理第三方cookie的问题。对此你无能为力,Facebook将不得不解决这个问题(如果可能的话,从他们的角度)。提交一份错误报告并让他们调查。我有一个自动喜欢的网站。事实证明,我提交了一份错误报告。他们告诉我这是在我这边,所以…我和以前一样。登录提示实际上将我连接到facebook。登录提示永远不会关闭,所以我的应用程序上永远不会返回访问令牌。所以它没有连接…我我不知道如何让它工作,如果你将它添加到受信任的站点时它工作,那么它一定是一些与设置相关的问题。因为你不能强制或知道普通用户将使用什么设置访问你的站点,我建议你放弃整个弹出式登录和随之而来的问题,并切换到服务器端登录流(如果有的话)sible——这无疑是最“稳健”的版本。嗯,我想如果没有其他办法,这可能是一个解决方案。这将很难实现。实际上,我为一家公司工作,facebook功能是我们为客户构建的网站的一部分。因此,即使我们在测试服务器上实现它,也可能无法在他们的服务器上实现……我必须检查一下,但这是值得考虑的电话铃响了。谢谢(顺便说一句:)