我们正在开发一个react应用程序(voot.com),它为移动设备提供了实时服务。
直播地址:https://m-origin.voot.com
我们在opera mini上面临很多问题,其中之一就是:
我们无法使用loginradius.com进行社交登录。当我们点击“继续使用facebook”时,应用程序会重定向到第三方的loginradius.com。但是我们没有从loginradius获得对我们服务器的任何响应,这就是用户不能通过社交登录登录的原因。
我们对来自http://cdn.loginradius.com/hub/prod/js/CustomInterface.2.js的loginradius使用js文件。
我们已经编写了一个回调函数,期望从loginradius返回到该回调。但是这个回调函数不会在opera中调用,迷你浏览器的rest浏览器工作得很好。
发布于 2017-03-29 13:26:14
看起来像opera mini打开的弹出窗口(由于移动浏览器而成为新的标签)。我的建议是,对于移动设备,不要打开新窗口。按照步骤解决此问题
1.将此模板添加到您的页面
<script id="loginradiuscustom_tmpl_mobile" type="text/html"><div class="<%=Name%>">
<a class="anchor_<%=Name%>" href="javascript:void()" onclick="window.location.href = '<%=Endpoint%>&same_window=1&callback=<%=createCurrentRoute(window.location.href)%>'">
<span class="icon-image-<%=Name%>" ></span>
<span class="<%=Name%>-text">Continue with <%=Name%></span>
</a>
</div></script>2.添加此方法来检测移动设备
function detectmob() {
if( navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPad/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)
){
return true;
}
else {
return false;
}
}3.替换以下行
options.templatename = "loginradiuscustom_tmpl";使用
if(detectmob()){
options.templatename = "loginradiuscustom_tmpl_mobile";
}else{
options.templatename = "loginradiuscustom_tmpl";
}https://stackoverflow.com/questions/43069134
复制相似问题