Проблема входа в социальную сеть Opera Mini с loginradius.com

Мы работаем над реагирующим приложением (voot.com), и оно доступно для мобильных устройств.

Текущий URL: https://m-origin.voot.com

Мы сталкиваемся со многими проблемами с Opera Mini, и одна из них:

Мы не можем войти через социальные сети с помощью loginradius.com. Когда мы нажимаем «Продолжить с facebook», приложение перенаправляется на сторонний сайт loginradius.com. Но мы не получаем никакого ответа на наш сервер от loginradius, поэтому пользователь не вошел в систему через социальный логин.

Мы используем js-файл для loginradius из http://cdn.loginradius.com/hub/prod/js/CustomInterface.2.js.

Мы написали функцию обратного вызова, ожидающую от loginradius возврата к этому обратному вызову. Но эта функция обратного вызова не вызывается в браузере Opera Mini, остальные браузеры работают нормально.


person Mahima Agrawal    schedule 28.03.2017    source источник


Ответы (1)


Выглядит как открытое всплывающее окно 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";
}
person Govind Malviya    schedule 29.03.2017
comment
Решение не работает для меня. Открыть в новом окне не является основной причиной этой проблемы. Мы также получаем сервер: консоль в Opera Mini, например: Opera изменила JavaScript на voot.hub.loginradius.com. Вы сможете увидеть эту ошибку, набрав server:console в адресной строке после входа через социальную сеть в Opera mini. - person Mahima Agrawal; 10.04.2017