//实际上就是新建一个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为移动端的hostvar 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打开或者下载appvar 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 {//抛出你的schemeopenIframe.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;}
}

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

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

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

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

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

  3. 页面跳转打开APP,若没有安装则跳转到下载页面

    判断当前手机系统 尝试打开APP链接,手机已安装了APP成功跳转打开APP 手机没有安装APP则跳到应用商城安装页 if (navigator.userAgent.match(/(iPhone|iPo ...

  4. H5页面唤醒App及App之间跳转

    H5页面跳转到App,其实质是通过uri. Android配置: 清单文件中对应的Activity标签添加以下标签属性 <intent-filter><action android: ...

  5. uniApp H5唤醒App

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

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

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

  7. H5页面唤起指定app或跳转到应用市场(扫描二维码直接下载APP)

    场景1: 在 h5 页面上,不管用户是否安装过该app,都直接跳转到应用市场,让用户从应用市场上打开app. 思路: 这种场景处理比较简单,直接判断判断是android端还是ios端,然后在点击按钮上 ...

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

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

  9. 微信分享和微信H5跳转到APP开放标签wx-open-launch-app使用及样式设置

    H5.微信.App唤端相关 一.微信分享 二.浏览器H5跳转到APP 三.微信H5跳转到APP 一.条件说明 二.文档 三.重要的设置 四.注意点 五.样式设置 一.微信分享 参看:微信分享:后端参数 ...

最新文章

  1. 论面向组合子程序设计方法 之 创世纪
  2. BDB (Berkeley DB)简要数据库(转载)
  3. 郎溪 溪流_到无限(溪流)和超越!
  4. jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。s:a actions:iterators:paramognl表达式...
  5. TypeError: 'NoneType' object is not subscriptable
  6. flash源文件_Animate/FLASH如何将多个源文件合并
  7. 对硬盘做镜像,按位与按文件有什么区别?
  8. ImageMagick还是GraphicsMagick?
  9. macos 全局代理 app_「主观向」macOS 好软推荐(使用体验)
  10. Analysis by Its History Theorem 2.2 牛顿广义二项式公式
  11. CompTIA IT Fundamentals认证考试的相关信息【2018.06.05更新】
  12. Ping记录时间的方法
  13. 性能强悍的开源关系数据库PostgreSQL
  14. sql语句学习之having用法
  15. 数据库中的内连接、自然连接、和外连接的区别
  16. 链路聚合_链路聚合的配置命令
  17. 小红书引流推广的终极秘籍之笔记排名
  18. 使用DataGrip连接神通数据库
  19. 工作问题:SQL求解用户复购率
  20. ubuntu 命令行卸载并清理软件(卸载的很干净)

热门文章

  1. 服务器装虚拟机蓝屏,虚拟机,安装了windows2008,最近频繁蓝屏0x00000109,请帮忙看下原因,谢谢!...
  2. 如何规范App广告的隐私获取,让用户拥有更多知情权?
  3. 工具:PsTools-windows问题定位系列小工具
  4. Jazzy--一种新的拼写检查器API(Java平台)
  5. 8086汇编语言程序设计——第一个程序
  6. 润乾报表实现竖排文字
  7. android 6 截屏快捷键是什么,一加6怎么截图 一加6截屏方法汇总
  8. mysql返回李连杰的姓_李连杰说他的爷爷不姓李,那他的爷爷到底姓什么?
  9. 大数据量的MongoDB快速删除数据
  10. ⑥ Vue的生命周期