我对iPhone上的PWA
感到非常困惑。
首先,在显示代码之前,我试图检查Web应用程序的外观如何。
在Google中搜索最佳的渐进式Web应用程序后,我在iPhone的Safari
中打开了所有这些应用程序,然后依次单击Share button
和Add To Home Screen
。 (Uber,Flipboard,Twitter,Google Maps,Ali-express等)
从主屏幕打开图标时,它将再次打开Safari
并与我所在的页面相同,就像任何网站一样。
没有全屏
没有单独的窗口(只是像网站一样在Safari中打开)
没有启动画面
在Chrome上-没有“添加到主屏幕”按钮
基本上只是一个带有图标的网站。
然后,我试图使用页面上的Google pwacompat
库在我的网站上这样做。
我已经将它们添加到页面head
中:
<link rel="manifest" href="manifest.webmanifest" />
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="apple-touch-icon" href="../images/logo.png">
然后在我的html底部的JS库:
<!-- webapp manifast library -->
<script async src="https://cdn.jsdelivr.net/npm/[email protected]/pwacompat.min.js" integrity="sha384-GOaSLecPIMCJksN83HLuYf9FToOiQ2Df0+0ntv7ey8zjUHESXhthwvq9hXAZTifA" crossorigin="anonymous">
</script>
同样,我将此页面添加到主屏幕,什么也没有。
没有全屏显示,没有其他窗口,只有
Safari
。我是否误解了PWA的基本知识?
最佳答案
iOS的起步很晚,无法使用PWA,但仍需要额外的属性(如您所用)来提供完整的PWA功能。
在Chrome DevTools中,如果转到(针对您的应用程序的)“应用程序”标签,您是否可以看到正确显示了带有其属性的Web清单以及服务人员?
正如Mathias所说,您需要HTTPS连接才能正确注册服务工作者。但是,出于开发目的,Localhost被视为“安全”的。
我写了关于PWA的series of articles,您可以看一下并遵循,以查看是否遗漏了任何内容。
Here支持服务人员的浏览器列表(与您使用的Safari版本进行比较)。
更新
我在这里回答您的评论:
如果某些提供PWA的网站(例如Uber,FB)在其他设备上可以用作PWA,但在您的手机上却不可以,那么我将尝试调查您身边是否缺少设置。我进行了快速研究,似乎对于iOS用户而言,使用/启用PWA需要一些额外的步骤:
用户必须使用Safari访问PWA URL,然后手动按“共享”图标,然后按“添加到主屏幕”。没有迹象表明所访问的网站是PWA。
关于Chrome中的“添加到主屏幕”,删除后我确实找不到任何官方信息。我只能说,自最新版本(v74 +)以来,我再也没有见过它。
PWA的每个页面都应该可链接,以便从通过社交媒体应用程序共享中受益。因此,如果您具有有效的PWA,并且您将链接发送给其他人,则这些链接也应该工作。假设该应用程序已正确实现,则没有特殊的浏览器限制。
我在一些链接下留下了其他人在PWA和iOS 12.2上存在类似问题的链接:
Link with discussion
Test PWA
Tipps article(这里有一些有关如何使PWA在iOS上运行的建议)
关于javascript - 渐进式Web应用程序真的可以在iOS上运行吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57077108/