您的位置:首页技术文章
文章详情页

javascript - 兼容Android和ios的网页调起原生app问题,使用iframe在ios的Safari无效?

浏览:17日期:2022-12-28 09:38:16

问题描述

如题,公司下来的一个需求,要求手机上装了app则调转到指定的页面,如果没有装则跳转到下载页面,遍寻网上的代码,经过测试,发现了一个问题。

普遍来说有两种办法:

第一种是iframe:遇到的问题是通过隐藏一个iframe调起app,过几秒后跳转页面,在Android上是可以的,但是在ios上测试无效果,始终没有调用起来,调用 sms:// tel://也不行;测试机iphone6,系统10.0.2;

第二种方法是使用a标签的href属性跳转,如果app已经安装了Android和ios上都可以,但是如果没有安装app,在ios上网页会报一个网址无效的错误,这个是产品那里不允许的。

求教sf论坛里的大神来指点一下正确调起app的方式,拜谢。

另外还有一种方法是

<a href='itms://itunes.apple.com/app/id452186370'>百度地图</a>

这种应该说很好,但是与我的需求有一点不合,我们这里要求是跳转到app指定页面而不是单单调起来。

问题解答

回答1:

在iOS上,首先app必须注册自己的URL Schemes,就是申明一个特殊的前缀去代替http,比如abc,你在网页上检测是否是iOS,如果是,就把http换成abc,再打开这个链接。如果是https还是换成abc。

标签: JavaScript