我有一个适合移动设备使用的Web应用程序,希望用户能够通过电子邮件或文本中发送的链接进行访问。该链接将包含特定于该用户的querystring参数,该参数控制网站显示的内容。该链接可能看起来像这样:
https://corpsite/myapplication/?show=578
当用户使用野生动物园访问此URL时,站点将获取一些对于“ show = 578”参数正确的信息,一切都很好。 (这里不是安全性的考虑因素。)但是,使用我正在测试的iPhone 8的“添加到主屏幕”功能将应用程序安装到主屏幕后,单击主屏幕图标时打开的URL是:< / p>
https://corpsite/myapplication/
不保留查询字符串信息! (我最终编写了一些调试代码,在应用程序加载时告诉我完整的URL。当我单击电子邮件中的链接并在Safari中访问时,报告的URL包含查询字符串。但是当我将该页面保存到主页时屏幕,然后单击主屏幕图标,则报告的URL不包含任何查询字符串信息。)
我已将其添加到(Angular 5)应用程序的index.html页面中,我认为这是我需要做的(除了一些与图标相关的标签之外):
<meta name="apple-mobile-web-app-capable" content="yes">
如何通过主屏幕图标来完成这项工作?
答案 0 :(得分:1)
我在这里找到了问题的根源: PWA loses its params and query params after being added to the home screen。
原来,我在我的manifest.json文件中设置了start_url,这覆盖了浏览器中的值。我只是从manifest.json文件中删除了该设置,然后手机在保存到主屏幕时使用了浏览器中的URL。