兼容各个浏览器唤起下载APP
16lz
2021-01-23
兼容各个浏览器唤起下载APP
判断各个浏览器
var ua = navigator.userAgent.toLocaleLowerCase();function is_android(){ if(ua.match(/android/i)=="android") { return true; } else { return false; }}function is_iphone(){ if(ua.match(/iphone/i)=="iphone") { return true; } else { return false; }}function is_wp(){ if(ua.match(/iemobile/i)=="iemobile") { return true; } else { return false; }}function is_qq(){ if(ua.match(/qq/i)=="qq") { return true; } else { return false; }}function is_weixin(){ if(ua.match(/MicroMessenger/i) == 'micromessenger'){ return true; }else{ return false; }}function is_weibo(){ if(ua.match(/Weibo/i) == "weibo"){ return true; }else{ return false; }}function is_chrome(){ if(ua.match(/Chrome/i) == "chrome"){ return true; }else{ return false; }}function is_chrome_iOS(){ if(ua.match(/crios/i) == "crios"){ return true; }else{ return false; }}function is_baidu(){ if(ua.match(/baidu/i) == "baidu"){ return true; }else{ return false; }}function is_uc(){ if(ua.match(/uc/i) == "uc"){ return true; }else{ return false; }}function is_360(){ if(ua.match(/360/i) == "360"){ return true; }else{ return false; }}function is_firefox(){ if(ua.match(/firefox/i) == "firefox"){ return true; }else{ return false; }}function is_xiaomi(){ if(ua.match(/xiaomi/i) == "xiaomi"){ return true; }else{ return false; }}function is_liebao(){ if(ua.match(/liebaofast/i) == "liebaofast"){ return true; }else{ return false; }}function is_aoyou(){ if(ua.match(/mxbrowser/i) == "mxbrowser"){ return true; }else{ return false; }}function is_sogou(){ if(ua.match(/sogou/i) == "sogou"){ return true; }else{ return false; }}function is_opr(){ if(ua.match(/opr/i) == "opr"){ return true; }else{ return false; }}function is_safari(){ if(ua.match(/safari/i) == "safari"){ return true; }else{ return false; }}function is_mx4(){ if(ua.match(/mx4 build/i) == "mx4 build"){ return true; }else{ return false; }}function is_quark(){ if(ua.match(/quark/i) == "quark"){ return true; }else{ return false; }}
IOS与ANDROID下的各个浏览器唤起和下载
IOS:
var startTime = Date.now(); window.location.href = scheme; setTimeout(function() { !window.document.webkitHidden && setTimeout(function() { var endTime = Date.now(); if ((endTime - startTime) < 3400) { _requestAction(statisticsDownloadUrl); window.location.href = downloadUrl; } }, 800); }, 2500);
ANDROID:
var startTime = Date.now(); var ifr = document.createElement("iframe"); ifr.src = scheme; ifr.style.display = "none"; document.body.appendChild(ifr); setTimeout(function() { !window.document.webkitHidden && setTimeout(function() { var endTime = Date.now(); if ((endTime - startTime) < 3400) { window.location.href = downloadUrl; } }, 800); }, 2500)
1.IOS
UC无法直接自动唤起只有在页面设置按钮点击后才能唤起
2.ANDROID
小米欧朋可以设置弹窗拉起
if(window.confirm('gogogo')){ window.location.href = scheme; }
谷歌可以唤起到内置浏览器
intent://『参数』#Intent;scheme=『名称』;package=『App名称』;end
举个栗子:
zhihu://questions/22493147
intent:///#Intent;scheme=miguvideo;package=com.miguvideo.android;end
var schemeParms = 'https://mp.csdn'; var url = schemeParms.split('://')[1]; window.location.href = 'intent://'+url+'#Intent;scheme=http;package=com.android.browser;end';
更多相关文章
- Java JSP获取请求头判断是什么浏览器
- Android利用资源名称获取其id之getIdentifier()方法
- android intent filter浏览器应用的设置,如何使用choose-box选择
- 飞速浏览器3.0.0 webview 练手项目.
- 利用浏览器默认方法获取浏览器当前位置
- android 如何连接默认浏览器
- android中WebView关闭打开第三方浏览器