如何防止PWA在新的Safari窗口中打开链接和Auth0单点登录验证

Smo*_*son 8 auth0 angular pwa

我有一个问题,我已经创建了一个有角度的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>
Run Code Online (Sandbox Code Playgroud)

但这似乎没有用,我已经看到一些其他的javascript黑客可以阻止这个,我还没有找到一个适用于我的角应用程序?

有人对这个有经验么??

谢谢

Buz*_*zut 3

这并不是 Angular 特有的,而是 PWA 特有的。Apple 根据新的PWA 清单规则更改了 iOS 11.3 中的行为。

\n\n

该问题已为人所知,Apple 将致力于解决该问题

\n\n

不幸的是,这意味着 iOS 11.3\xe2\x80\xa6 的 PWA 没有太多可做的

\n