ios - iphone“添加到主屏幕”忽略查询字符串参数
问题描述
我有一个适合移动设备的 Web 应用程序,我希望用户能够通过电子邮件或文本中发送的链接访问它。该链接将包含特定于该用户的查询字符串参数,该参数控制网站显示的内容。此链接可能如下所示:
https://corpsite/myapplication/?show=578
当用户使用 safari 访问此 URL 时,该站点会获取一些对“show=578”参数正确的信息,并且一切正常。(这里的安全性不是一个因素。)但是在使用我正在测试的 iPhone 8 的“添加到主屏幕”功能将应用程序安装到主屏幕后,单击主屏幕图标时打开的 URL 是:
https://corpsite/myapplication/
不保留查询字符串信息!(我最终编写了一些调试代码,在应用程序加载时告诉我完整的 URL。当我单击电子邮件中的链接并在 Safari 中访问时,报告的 URL 包含查询字符串。但是当我将该页面保存到主页时屏幕,然后单击主屏幕图标,报告的 URL 不包含任何查询字符串信息。)
我已将此添加到(Angular 5)应用程序的 index.html 页面中,我认为这就是我需要做的所有事情(除了一些与图标相关的标签):
<meta name="apple-mobile-web-app-capable" content="yes">
如何从主屏幕图标进行这项工作?
解决方案
我在这里找到了问题的根源: PWA 在添加到主屏幕后会丢失其参数和查询参数。
事实证明,我在 manifest.json 文件中设置了 start_url,并且覆盖了浏览器中的值。我刚刚从 manifest.json 文件中删除了该设置,然后手机在保存到主屏幕时使用了浏览器中的 URL。
推荐阅读
- excel - 根据共同特征组合 Excel 文件
- php - 如何正确地在 laravel 上构建查询?
- regex - PHP preg_replace() 模式查找具有特定文件夹的 img
- python - Python Ping-Pong 比赛,球速在桨运动过程中随机变化
- matlab-figure - 通讯系统smultion
- python - 数组使用整数值对其进行重复数据删除
- r - 使用 fitditrplus 绘制截断正态分布时出现错误消息
- android - Firebase - 我如何更改圈出用户 ID 的字段
- reactjs - 反应笑话和酶,找到具有隐藏属性的“选项”
- rabbitmq - RabbitMQ 的“事务”模式意味着什么?