0

我在使用 facebook 浏览器时遇到了一个奇怪的错误,我的社交登录由于某种原因无法正常工作。就像 facebook 应用程序浏览器无法打开一个新窗口时,有人尝试使用 google 或 facebook 等社交网站注册并给我一个带有“正在关闭窗口...”消息的空白窗口。

我试图在网上找到一些答案,但它比仅仅将它与 googlechrome://navigate?url=url.com 或 googlechrome://url.com 放在一起要复杂一些,有没有其他方法可以制作用户(使用 js 或 html)从普通浏览器而不是 android 和 ios 的 facebook 重定向?

现在只是为了解释一下,我想代码/链接没有什么特别之处,社交注册链接只是在桌面上的小窗口或通过 chrome 或任何其他浏览器(facebook 除外)在移动设备上的新窗口中打开。

你们中的任何一个巫师有没有机会遇到这样的问题并找到一个好的解决方案?!

<a class="btn-fb"
  href="loginwith_facebook"
  target="_blank"
  onclick="openOAuthLogin(this, event)"
  data-category="some_category"
  data-action="Click"
  data-label="Connect"
  >
    <i class="fa fa-facebook"></i>
    <span class="facebook-label desk">Continue with Facebook</span>
    <span class="facebook-label mob">Facebook</span>
</a>

和JS:

function openOAuthLogin(element, event) {
  window.open(element.href, 'Login', 'width=500, height=500');
  event.preventDefault();
}
4

1 回答 1

0

好的,所以最好的做法是捕捉浏览器类型,然后删除用于登录或注册的社交选项

function isFacebookApp() {
    var ua = navigator.userAgent || navigator.vendor || window.opera;
    return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
if(isFacebook){
//ToDo: some logic or ui manipulation
}

不幸的是,我们对 facebook 浏览器没有任何权力,唯一可以将用户重定向出去的方法是用户自己通过这种方式检查某些选项。

对于我们开发者来说,我们只需要离开登录/注册的表单方式。

于 2019-04-22T05:49:13.513 回答