Как запретить PWA открывать ссылки и аутентификацию единого входа Auth0 в новом окне Safari

У меня есть проблема, я создал угловой PWA, и мое приложение использует auth0-lock в качестве аутентификации, теперь моя проблема заключается в том, что когда вы нажимаете один из вариантов единого входа, таких как Google, например, вы выходите из PWA и в сафари, можно ли как-то это предотвратить??

Я попытался поместить этот код в свой index.html.

<!-- Prevent app from opening new safari page -->
<script type="text/javascript">
    (function(document,navigator,standalone) {
        // prevents links from apps from oppening in mobile safari
        // this javascript must be the first script in your <head>
        if ((standalone in navigator) && navigator[standalone]) {
            var curnode, location=document.location, stop=/^(a|html)$/i;
            document.addEventListener('click', function(e) {
                curnode=e.target;
                while (!(stop).test(curnode.nodeName)) {
                    curnode=curnode.parentNode;
                }
                // Condidions to do this only on links to your own app
                // if you want all links, use if('href' in curnode) instead.
                if('href' in curnode && ( curnode.href.indexOf('http') || ~curnode.href.indexOf(location.host) ) ) {
                    e.preventDefault();
                    location.href = curnode.href;
                }
            },false);
        }
    })(document,window.navigator,'standalone');
</script>

но это, похоже, не работает, я видел некоторые другие хаки javascript, которые могут предотвратить это, и мне еще предстоит найти тот, который работает в моем угловом приложении?

У кого-нибудь есть опыт в этом??

Спасибо


person Smokey Dawson    schedule 01.06.2018    source источник


Ответы (1)


Это относится не только к Angular, но и к PWA. Apple изменила поведение в iOS 11.3 в соответствии с новыми правилами манифеста PWA.

Проблема известна, и Apple будет над ней работать.

К сожалению, это означает, что в PWA для iOS 11.3 делать особо нечего…

person Buzut    schedule 03.06.2018