流水账,仅作记录。
兼容:微信屏蔽了scheme协议调app,但在QQ里打开还是可以的,其它浏览器正常使用
$('.downlink').click(function() { window.location.href = '自定义scheme'; let time = Date.now(); setTimeout(function(){ if (Date.now() - time < 1100) { window.location.href = '下载地址'; } }, 1000); return false; });
让浏览器尝试打开自定义 URL scheme,并且忽略浏览器默认行为(跳转到 href 属性)。等待一秒后,再检查当前时间,如果超过 1100 毫秒,说明跳转 app 成功了(跳转 app 会让浏览器的定时器变慢),什么也不用干;如果没超过 1100 毫秒,很可能是没有安装应用,就跳到下载地址。
嗯,好犀利的方法。