热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

短信和mailto:iPhoneSafari移动浏览器失败测试,更多测试...

问题:带有sms:和mailto:链接的网页在ios移动safari浏览器上失败。单击链接

问题:

带有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寻址。运作良好的网站使用的是真实网址,指向应用程序引擎的位置。


典型代码:


  • Jane Doe





  • 如果您在Apple移动设备的浏览器中将其打开,我想知道是否会显示问题:

    显然这是失败的。您甚至都看不到我的移动设备上的“运行摘要”按钮。



    测试,更多测试...

    我刚发现...如果将网站保存到我的移动设备主页上,从而将图标添加到主屏幕并处于显示模式,则看不到顶部URL地址栏或Safari选项栏然后在底部的SMS:将失败。如果您只是在Safari中打开地址,但不保存文件,那么它将非常有用。

    同样,当我进入Apple Web Application mode时,SMS链接失败。

    一个黑客...通过iPhone上的Safari移动浏览器打开网站。将网站保存到主页。验证图标在手机上。转到设置-> Safari->高级->网站数据,然后通过向左滑动内容来删除站点。缓存存储干净,但图标仍保留在移动屏幕上。使用图标帮助登录,但不要再次保存该网站。请注意,URL行是可见的。短信将起作用。

    此处仍在测试...
    我试图建立一个简单的例子来说明这个问题。我完全无法使示例由于上面的错误消息而失败。供参考,测试站点为here.测试源代码为here.

    我怀疑问题与以下事实有关:两个站点都位于一个子域站点。 (mywebapp.appspot.com)当清单包含所有“有效”内容时,该站点确实显示为ios Apple Web应用程序,而没有可见的URL行...但是,只要我处于该模式,SMS链接就会完全失败。 / p>

    话虽如此,您可以通过控制存储模式。

    在测试期间,我还注意到,每当manifest.json文件包含//注释标记时,Safari会忽略该文件的任何位置。通常,.json文件中不允许//注释,但根据MSN source,,在manifest.json文件中可以使用注释。

    选择是


    • 有点丑陋且功能强大,或

    • 功能齐全

    当前,我正在运行 ...我可以在主屏幕上获得自定义图标的优点,即使该Web应用仍明显位于移动浏览器中,并且顶部/底部信息行可见, 。


    推荐阅读
    • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
    • ajax 跨域webapi 最简单的demo(只介绍Get)
      这几天遇到一个nodejs的项目,使用VSCode开发,需要连接数据库的,但是用nodejs连接数据库比较繁琐,需要安装很多 ... [详细]
    • socket.io是个基于node.js的快平台实时通讯框架。只用不到10行代码,就可以搭建一个简单的多人实时聊天室。先来看看运行后的效果:socket.io多人聊天室只要简单几 ... [详细]
    • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
    • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
    • 这么多流媒体服务器?你怎么技术选型?
      在上一篇文章里我们介绍了我们介绍了MCU和SFU的优缺点,webRTC通信方案SFU和MCU的区别?下面就来探讨下常见的SFU开源解决方案,当然,你也可以自己实现SFU流媒体服务器 ... [详细]
    • kepserver中文手册,kepserver使用教程,kepserver设置
      下面介绍一下KepServer模拟器的使用,以下示例使用服务器随附的Simulator驱动程序来演示创建、配置和运行项目的过程。Simulator驱动程序是基于内存的驱动程序,能为 ... [详细]
    • 本文实例讲述了jQueryajax实现滚动到页面底部自动加载图文列表效果。分享给大家供大家参考,具体如下:phttp:www.w3.orgTRxht ... [详细]
    • 本节书摘来自华章计算机《Web前端开发最佳实践》一书中的第2章,第2.2节,作者:党 建更多章节内容可以访问云栖社区“华章计算机”公众号查看。2.2 前端代码重构代码 ... [详细]
    • 如何设计一个秒杀系统(各方面都写的很到位)
      1.Overview1.1并发读写秒杀要解决的主要问题是:并发读与并发写。并发读的优化理念是尽量减少用户到服务端来读数据,或者让他 ... [详细]
    • 目录  一、第一天1、第一天时间:2018年6月13号1.1、今日完成任务情况以及遇到的问题姓名庄莉童宇欣 ... [详细]
    • Python瓦片图下载、合并、绘图、标记的代码示例
      本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
    • ECMA262规定typeof操作符的返回值和instanceof的使用方法
      本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ... [详细]
    • 1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ... [详细]
    • pyecharts 介绍
      一、pyecharts介绍ECharts,一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部 ... [详细]
    author-avatar
    钞绚舞亨利
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有