Как запретить 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, которые могут предотвратить это, и я все еще должен найти тот, который работает в моем угловом приложении?
У кого-нибудь есть опыт работы с этим??
Спасибо
1 ответ
Это не только для Angular, но и для PWA. Apple изменила поведение в iOS 11.3, следуя новым правилам манифеста PWA.
Проблема известна, и Apple будет работать над этим.
К сожалению, это означает, что в PWA для iOS 11.3 мало что можно сделать…