关于在浏览器中判断是否安装app
现有有一个需求:页面有一个 “在app中查看” 按钮,当被点击时,若用户安装了app,则使用相应的app打开, 否则跳转到下载页。已知该app的scheme
测试时间:2016.01.30
现在可行的方案:
setTimeout(function () {
var timeOutDateTime = new Date();
if (!loadDateTime || timeOutDateTime - loadDateTime < 1010) {
window.location = self.dataset.href;
}
},1000);
window.location = 'diaodiao://';
记录下在各个系统及浏览器中的表现:
IOS8.3(都可以跳转到下载页)
- safari可呼起APP
- 手机百度可呼起APP
- QQ不能呼起APP
- QQ空间可呼起APP
- 微信不能呼起APP
IOS9.2.1(都可以跳转到下载页)
- safari可呼起APP,但在呼起之前会弹出提示,需要选择“open”之后才会呼起
- 手机百度可呼起APP
- QQ空间可呼起APP
- QQ不能呼起APP
- 微信不能呼起APP
- 微博不能呼起APP
- 知乎不能呼起APP
魅族Android5.0.1(都可以跳转到下载页)
- 原生浏览器不能呼起APP
- QQ浏览器可呼起APP(但是会稍微延迟一会儿,时间可以接受)
- Chrome可呼起APP
- UC浏览器可呼起APP,但是在呼起之前会弹出提示,需要选择“仅本次允许”之后才会呼起
- QQ可呼起APP
- 微信可呼起APP(APP的呼起会晚于跳转到下载页)
- 手机百度可呼起APP
- 微博不能呼起APP
三星Android4.4(都可以跳转到下载页)
- 原生浏览器可呼起APP
- QQ可呼起APP(打开了2次)
- 微信不能呼起
- 手机百度可呼起APP
- QQ浏览器可呼起APP
相关文章
- 硅谷互联网公司的开发流程
开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro
- RESTful-表述性状态转移风格
REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表->就是产品资源 最重要的是如何表示一个资源 地址即
- 稳定性思考
产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能
- Supervisor守护队列发邮件
安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et
- 安装libsodium,让服务器支持chacha20等加密方式
用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod
随机推荐
- 硅谷互联网公司的开发流程
开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro
- RESTful-表述性状态转移风格
REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表->就是产品资源 最重要的是如何表示一个资源 地址即
- 稳定性思考
产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能
- Supervisor守护队列发邮件
安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et
- 安装libsodium,让服务器支持chacha20等加密方式
用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod