我在使用Facebook浏览器时遇到一个奇怪的错误,在该错误中,由于某种原因,我的社交登录无法正常工作。就像Facebook应用浏览器无法打开新窗口时,有人尝试注册google或facebook之类的社交网站,并向我抛出空白窗口并显示“正在关闭窗口...”消息。
我试图在网络上找到一些答案,但是它比将其与googlechrome:// navigate?url = url.com或googlechrome://url.com放在一起要复杂得多,还有其他方法吗?使用户(使用js或html)从普通浏览器重定向,而不是通过android和ios的facebook重定向的方法?
现在仅要解释一下,我想代码/链接没有什么特别的,社交注册链接只是在桌面上的小窗口中打开,或者通过chrome或任何其他浏览器(facebooks)在移动设备中打开新窗口。< / p>
你们中的任何向导是否有遇到类似问题并找到了一个好的解决方案?!
<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();
}
答案 0 :(得分: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浏览器,只能通过选中某些选项this way来由用户自己将用户重定向出该浏览器。
对于我们开发人员,我们只需要保留登录/注册的表单方式即可。