问题:
带有sms:和mailto:链接的网页在ios移动safari浏览器上失败。单击链接会将您重定向到:
Safari无法打开页面,因为它无法重定向到位置 以“ sms:”开头
或
Safari无法打开页面,因为它无法重定向到位置 以“ mailto:”开头
这些通常可以正常工作,直到大约两三个月前。现在这些在使用Safari浏览器的Apple移动设备上失败。
背景:
- 我为基于活动的团队创建响应式网页。我们要做的事情之一就是提供团队名单。名册包括电话号码,SMS文本页面和电子邮件的链接。
- 为使事情简单,我们使用简单的网页。
- 由于安全和隐私问题,仅在登录后通过node.js服务器通过ajax调用提供此内容。我们正在使用单个node.js Express服务器来托管网站内容并管理http / api调用。
- 通常,单击链接会将移动设备推送到相应的本机应用程序中,以进行电话,SMS短信或电子邮件。
- 这在所有设备上都运行了好几年。
- 最近我们在iPhone上看到了问题...但是...
- 这是最奇怪的部分。我有3个团队使用此技术。.仅在三个团队中有两个失败。短信链接在那很好。
- “ tel:”链接在所有设备上均可正常运行。
- 仅在iPhone上的sms和mailto:这三个站点中的两个站点上发生故障。在Android设备,Windows和MacOS上,一切仍然可以正常工作。问题是苹果移动设备。
- 发生故障的两个站点是Progressive Web Apps,带有manifest.json文件和service_worker.js。正常工作的网站都没有。当我删除清单并关闭服务人员时,没有任何改善。
- 这三个网站都是通过App引擎在Google Cloud托管的。失败的两个站点仅使用web_app.appspot.com寻址。运作良好的网站使用的是真实网址,指向应用程序引擎的位置。
典型代码:
<li>
<div class="username">Jane Doe</div>
<div class="phoneNumber"><a href="tel:+1321-555-1234">321-555-1234</a></div>
<div class="sms"><a href="sms:+1321-555-1234"><img src="../images/crosstxt-icon.jpg"></a></div>
<div class="email"><a href="mailto:jane.doe@yahoo.com"><img src="../images/email-icon.png"></a></div>
</li>
如果您在Apple移动设备的浏览器中将其打开,我想知道是否会显示问题:
<a href="sms:+1321-555-1234">Click here to create a SMS message.</a>
<br>
<a href="mailto:jane.doe@not_a_real_email_service.com">Click here to create an email message.</a>
显然这是失败的。您甚至都看不到我的移动设备上的“运行摘要”按钮。