js 调用
---------------------------------------
/**
* 移动浏览器上app打开及下载
* yancey.zhang
* 20150105
*/
var loadIframe = null;
var ios_schemes = "wx737d86c854364366://sinokorealife/openwith?";
var android_schemes = "wx737d86c854364366://sinokorealife/openwith?";
var ios_appstore_url = "http://fir.im/rjuy";
var android_appstore_url = "http://fir.im/q6ct";
var IS_IPAD = navigator.userAgent.match(/iPad/i) != null,
IS_IPHONE = !IS_IPAD && ((navigator.userAgent.match(/iPhone/i) != null) || (navigator.userAgent.match(/iPod/i) != null)),
IS_IOS = IS_IPAD || IS_IPHONE,
IS_ANDROID = !IS_IOS && navigator.userAgent.match(/android/i) != null,
IS_MOBILE = IS_IOS || IS_ANDROID;
var isChrome =navigator.userAgent.match(/Chrome\/([\d.]+)/) || navigator.userAgent.match(/CriOS\/([\d.]+)/);
var isWeixin =navigator.userAgent.match(/MicroMessenger/i);
var timeout=500;
//创建iframe ,防止有些浏览器再找不到app的时候报错
function createIframe() {
var iframe = document.createElement("iframe");
iframe.style.cssText = "display:none;width:0px;height:0px;";
document.body.appendChild(iframe);
loadIframe = iframe;
}
var winHeight = $(window).height();
//安卓系统中针对谷歌chrome浏览器的调用方式
function getChromeIntent(param){
var url="intent://sinokorealife/openwith?"+param+"/#Intent;scheme=wx737d86c854364366;package=com.sinokorealife.oa;end";
return url;
}
//main 打开APP
function openApp(param) {
if (IS_IOS) {
loadIframe.src = ios_schemes + param;
var t = Date.now();
setTimeout(function() {
if (Date.now() - t < timeout+100) {
location.href = ios_appstore_url;
}else{
window.close();
}
}, timeout);
} else if (IS_ANDROID) {
//alert(navigator.userAgent);
if(isChrome){
location.href=getChromeIntent(param);
}else{
location.href =android_schemes+ param;
}
var t = Date.now();
setTimeout(function() {
if (Date.now() - t < timeout+100) {
location.href = android_appstore_url;
}else{
window.close();
}
}, timeout);
} else{
alert("暂不支持当前系统!");
}
}
createIframe();
ps:目前这种方式支持IOS,和安卓系统中的不同浏览器,QQ浏览器,chrome,和系统自带都可以打开。
ps: 这个代码需求是要求微信的wap页面能够调用企业app,目前只能提示用户用浏览器打开,才能下载,微信中不能直接打开,但是有一种方式是微信提供的跳转,跳转方式:http://mp.weixin.qq.com/mp/redirect?url=你的跳转地址#weixin.qq.com#wechat_redirect
这种方式目前IOS可以打开,安卓的不行,还有就是,IOS会出现有时候能打开,有时候不行,还在研究中。。。
分享到:
相关推荐
windows;JS;exe;打开应用程序
该文档主要介绍2点, 1.IOS通过手机浏览器打开指定APP 2.IOS app之间通讯 3.多分享资源,促进交流,提升技能
安卓app开发之在WebView中通过javascript调用android中的java代码.这是hybrid app混合开发的核心技术所在----js和native代码互相调用
uniapp APP打开浏览器界面
在网上看了很多,都说APP能唤起微信,手机网页实现不了。也找了很多都不能直接唤起微信。 总结出来一个可以直接唤起微信的。适应手机qq浏览器和uc浏览器。 下面上代码,把这些直接放到要转发的页面里就可以了: html...
博文中资源
【微信跳转接口】微信引导用户右上角打开浏览器,访问APP下载链接,相关文章地址:https://blog.csdn.net/qq15577969/article/details/103236861
移动端浏览器和手机APP,h5页面调用相机、相册、录像、录音,可以选择本地相册;以及文件的读取和加载方法, 调用FileReader对象的方法
主要介绍了iOS中使用schema协议调用APP和使用iframe打开APP的例子,用在浏览器中打开APP,需要的朋友可以参考下
基于H5流媒体,调用手机摄像头实现扫码 实现原理:H5调用系统媒体设备》选择前置摄像头》捕获视频流》渲染到视频播放器》定时抓取视频截图》渲染到canvas》转换为图片流》使用图像识别库对图片流进行二维码识别 优势...
App Inventor是一款基于浏览器的在线安卓软件开发工具,采用搭积木的方式进行编程,界面友好,能够很好地实现学生的创意,简单有趣,使程序学习不再枯燥。App Inventor积木式编程具有以下特点: * 可视化操作:App ...
java语音调用已经安装的windows浏览器,打开指定的URL地址
前两天接到一个无线的需求,我这个小白可是忙活了好几天……在页面上有一个连接, 如果用户安装了APP,则点击打开对应的APP如果用户没有安装,则点击打开对应...下面进入我们今天的正题,H5如何打开或者说唤起手机本地
一、Android端如何操作 1、给Application中Activity添加跳转链接路径和相关权限 scheme:判别启动的App host: 类似于端口,可用于分流,区分调取的功能 ...3、APP内部也可以调用起来 Intent intent = new
Android扫描二维码显示并可以调用手机浏览器进入链接
如何在第三方app内调用Safari浏览器实现阅读模式浏览,适用于大排版内容的集中阅读
1、由于系统安全机制,ios系统必须使用自带的Safari浏览器(或者第三方APP调用的是Safari内核)才行 2、安卓端只要该APP有使用相机的权限就可以使用,多数情况下都会提醒用户是否给予相机权限, 也有一部分应用不会...
h5调用手机相册,摄像头以及文件夹,直接放在服务器上然后浏览就可以了。 QQ浏览器,Chrome,Safari浏览器都可以。
Android调用JavaScript.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
用网页直接来调用app是不打可能的,必须原生那边先做一些配置。 首先,安卓和苹果的调用方法是不同的。 所以我们需要先判断一下终端。 var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = ...