//实际上就是新建一个iframe的生成器

var createIframe=(function(){

var iframe;

return function(){

if(iframe){

return iframe;

}else{

iframe = document.createElement('iframe');

iframe.style.display = 'none';

document.body.appendChild(iframe);

return iframe;

}

}

})()

var openApp=function(){

// 移动端配置的schema,如要传参,按正常的url传参方式拼接到路径后面即可

// tiaoyangtaiyang为移动端的schema,com.sunpro为移动端的host

var localUrl="taiyangtaiyang://com.sunpro";

var openIframe=createIframe();

var u = navigator.userAgent;

var isIos = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端

var isAndroid= u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端

var isChrome = window.navigator.userAgent.indexOf("Chrome") !== -1;

// 判断是否为微信端打开,如果是,则隐藏页面所有东西,展示请用浏览器打开的图片

if(isWeiXin()){

$("body div").hide();

if(isIos){

$("#sharePhoto").find("img").attr("src","../images/shareIOS.jpg");

}else{

$("#sharePhoto").find("img").attr("src","../images/share.jpg");

}

$("#sharePhoto").show();

$('html,body').css("overflow","hidden");

return false;

}else{

$("#sharePhoto").hide();

}

if(isIos){

// 根据时间来判断移动端是否装有app,如果有跳转到和移动端约定好的schema,如果没有装有app则跳转到App Store

// 也可以直接跳转到App Store,从appstore打开或者下载app

var loadDateTime = Date.now();

window.location.href = localUrl;

setTimeout(function () {

var timeOutDateTime = Date.now();

if (timeOutDateTime - loadDateTime < 1000) {

window.location.href = "https://itunes.apple.com/cn/app/[name]/id[id]";

}

}, 500);

}else if(isAndroid){

//判断是否是android,具体的判断函数自行百度

if (isChrome) {

//chrome浏览器用iframe打不开得直接去打开,算一个坑

window.location.href = localUrl;

} else {

//抛出你的scheme

openIframe.src = localUrl;

}

setTimeout(function () {

window.location.href ="http://a.app.qq.com/o/simple.jsp?pkgname=[name]"; /* http://t.cn/RcxMVvL*/

}, 500);

}else{

//主要是给winphone的用户准备的,实际都没测过,现在winphone不好找啊

openIframe.src = localUrl;

setTimeout(function () {

window.location.href = "你的下载地址";

}, 500);

}

}

/*判断是否是ios9以上*/

function isIOS9() {

//获取固件版本

var getOsv = function () {

var reg = /OS ((\d+_?){2,3})\s/;

if (navigator.userAgent.match(/iPad/i) || navigator.platform.match(/iPad/i) || navigator.userAgent.match(/iP(hone|od)/i) || navigator.platform.match(/iP(hone|od)/i)) {

var osv = reg.exec(navigator.userAgent);

if (osv.length > 0) {

return osv[0].replace('OS', '').replace('os', '').replace(/\s+/g, '').replace(/_/g, '.');

}

}

return '';

};

var osv = getOsv();

var osvArr = osv.split('.');

//初始化显示ios9引导

if (osvArr && osvArr.length > 0) {

if (parseInt(osvArr[0]) >= 9) {

return true

}

}

return false

}

function isWeiXin(){

var ua = window.navigator.userAgent.toLowerCase();

if(ua.match(/MicroMessenger/i) == 'micromessenger'){

return true;

}else{

return false;

}

}

国外html5转app store,H5唤醒移动端APP,或跳转到App Store和应用宝相关推荐

  1. H5唤醒移动端APP,或跳转到App Store和应用宝

    //实际上就是新建一个iframe的生成器 var createIframe=(function(){var iframe;return function(){if(iframe){return if ...

  2. Bwsaas框架基于Thinkphp6.x开发的微信公众号,小程序,app,H5等多端打通的框架

    完善bwsaas框架并开源原生小程序商业版本前端应用 新增 1插件安装升级,安装平台系统插件(type=admin_system)时可同时添加多个角色组(平台系统功能+租户系统功能),需要在group ...

  3. uniapp解决H5唤醒APP

    H5唤醒APP 解决H5唤醒指定APP 设置schemes - Android 打开项目manifest.json文件源码视图 在manifest.json文件的"app-plus" ...

  4. Android 通过短信(H5)跳转到App指定页面

    最近公司为了增加用户活跃度,新增了许多活动,要求从多种方式可以跳转到App的指定页面.比如闪屏页.首页弹框.首页banner.webView.极光推送消息点击跳转以及通过短信跳转到App. 对此,我们 ...

  5. ios html5 app上架,H5封装的IOS应用上架App Store被拒怎么办

    原标题:H5封装的IOS应用上架App Store被拒怎么办 H5封装的IOS应用如果上要架到App Store几乎是无望,原因是苹果官方为了保证App Store应用商店上的APP优量和更好的体验, ...

  6. uniApp H5唤醒App

    H5唤醒App 安装依赖 npm install --save callapp-lib 引入 callapp-lib import CallApp from "callapp-lib&quo ...

  7. H5唤醒app,不完全兼容

    ---ps---最近新发现一个开源的H5唤醒app的库:建议使用第三方开源库https://github.com/suanmei/callapp-lib实现:或者极光魔链(后期可能会收费)https: ...

  8. 微信开放标签<wx-open-launch-app>之Vue项目H5唤醒APP

    微信开放标签<wx-open-launch-app>之Vue项目H5唤醒APP 在微信开放标签出来之前,大多数人都是采用 URI Scheme 以及 ios 的universal Link ...

  9. HTML5页面被运营商DNS劫持问题及解决方案,app中h5页面源码的获取

    App应用的html5页面经过运营商的移动网络(非wifi网络),被强制插入广告和手机管家的多余信息,在有些场景严重干扰用户的操作,也产生在美丽的页面上加入了不协调的悬浮层.并且这个手机管家类的悬浮层 ...

最新文章

  1. 实践篇:利用函数计算轻松构建全文检索系统
  2. python基础8(来自廖雪峰的官方网站)
  3. 无线路由器发起ARP攻击,致使网络中断,这是为什么?
  4. 关于QTP 9.2 .NET 插件破解的尝试
  5. 2021 年 Windows 成了 Python 开发者的首选
  6. Android入门笔记01
  7. Fgui Glist 实现无限滑动 虚拟列表
  8. AtCoder从小白到大神的进阶攻略
  9. 3 整型变量,实型数据(主要是实型变量)2021-01-25
  10. 基于百度翻译api的命令行翻译助手
  11. Unity美术场景制作基础流程和注意事项梳理
  12. 无线路由器DNS服务器解析,路由器DNS劫持简单实现和防范分析
  13. Soft Diffusion:谷歌新框架从通用扩散过程中正确调度、学习和采样
  14. Python中“xx+=xx”与“xx=xx+xx”的区别
  15. kylin在hadoop 中的架构图_Kylin |1.麒麟架构及原理
  16. 一条SQL语句执行成本的计算
  17. python怎么求指数_求指数 python
  18. linux运维拾忆2
  19. Windows中安装配置Maven详细教程
  20. Springboot旅游攻略oz5o8计算机毕业设计-课程设计-期末作业-毕设程序代做

热门文章

  1. windows安装nacos步骤,还有那些坑
  2. linux ca-certificates维护openssl证书
  3. 让这代码跑得快一点!!
  4. finalshell连接服务器
  5. open**N获取用户登录登出信息
  6. 520送男朋友什么礼物?运动必备的运动耳机推荐
  7. 北京冬奥中的广州超高清科技力量
  8. Hive常用语句记录
  9. 百度HTTPS部署实践
  10. 【Go】(1)go语言开发环境配置