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下浏览器调用本地应用程序的方法包括使用ActiveXObject(仅限IE)、创建.url快捷方式和注册自定义URL协议等。需要注意的是,这些方法都涉及对用户计算机的访问,因此在实际应用中必须谨慎处理,以...
- 文档中提供了一段代码示例,用于从手机浏览器通过自定义URL打开APP。代码使用iframe尝试在页面内打开APP,并在3秒后自动移除iframe,避免干扰页面上的其他元素。 - 示例中还展示了如何通过点击按钮,使用...
在网上看了很多,都说APP能唤起微信,手机网页实现不了。也找了很多都不能直接唤起微信。 总结出来一个可以直接唤起微信的。适应手机qq浏览器和uc浏览器。 下面上代码,把这些直接放到要转发的页面里就可以了: html...
安卓app开发之在WebView中通过javascript调用android中的java代码.这是hybrid app混合开发的核心技术所在----js和native代码互相调用
uniapp APP打开浏览器界面
这里的`wx.openUrl`方法可以实现从微信内跳转到手机默认浏览器,从而让用户在浏览器中完成APP的下载。 至于`xz.png`和`bj.png`,它们可能分别代表下载按钮的图标和背景图片,用于美化页面和提升用户体验。在实际...
在移动互联网领域,微信作为一款超级App,拥有庞大的用户基数,但其内置的浏览器对于某些特定功能,如大文件下载、复杂交互等支持有限。因此,开发者常常需要将用户引导到设备的默认浏览器来完成这些操作,比如下载...
在Android应用开发中,内嵌浏览器(In-App Browser)是一种常见的功能,它允许用户在应用程序内部浏览网页,而无需跳转到外部浏览器。本文将详细介绍Android中的内嵌浏览器实现,特别是基于WappBrowser的实践。 ...
在移动开发领域,创建一个简易的浏览器App并不复杂,主要依赖于Android或iOS系统提供的Webview组件。Webview是一个能够加载和显示网页的原生控件,它允许开发者在应用程序中嵌入网页内容,提供类似于浏览器的浏览...
博文中资源
这里我们关注的是如何在ThinkPHP5框架下实现微信H5支付,也就是在手机浏览器中调用微信支付的功能。这个过程涉及到的技术点包括PHP编程、ThinkPHP5框架的应用以及微信支付接口的调用。 首先,`ThinkPHP5`是一个基于...
Chrome浏览器调用OCX插件资源涉及到的是浏览器扩展与ActiveX技术的结合。在Windows操作系统环境中,OCX(Object Linking and Embedding Control Extensions)是COM(Component Object Model)的一部分,它是一种可...
本文将深入探讨如何通过HTML网页调用本地安卓APP,并重点讲解URL唤起APP的技术。 首先,我们需要了解`scheme`的概念。在Android中,每个应用程序都可以注册一个唯一的`scheme`,类似于互联网上的URL协议,如HTTP或...
在Android应用开发中,将网页内容嵌入到APP中是一种常见的做法,这通常涉及到使用WebView组件。...在实际开发中,根据应用的具体需求,可能还需要处理更多复杂的情况,如处理API调用、本地存储、用户认证等。
移动端浏览器和手机APP,h5页面调用相机、相册、录像、录音,可以选择本地相册;以及文件的读取和加载方法, 调用FileReader对象的方法
【微信跳转接口】微信引导用户右上角打开浏览器,访问APP下载链接,相关文章地址:https://blog.csdn.net/qq15577969/article/details/103236861
基于H5流媒体,调用手机摄像头实现扫码 实现原理:H5调用系统媒体设备》选择前置摄像头》捕获视频流》渲染到视频播放器》定时抓取视频截图》渲染到canvas》转换为图片流》使用图像识别库对图片流进行二维码识别 优势...
标题“从浏览器跳转到自己的app”涉及到的技术领域是移动应用开发,特别是Web与原生应用的交互。这里主要讨论的是如何通过网页(H5)的内容来触发用户的设备上安装的特定应用程序(app)的启动。这个过程通常依赖于...
然后,使用`startActivity(Intent)`启动Intent,这会尝试寻找能够处理该URL的App(例如,如果URL是特定格式,可能会启动浏览器或特定的App)。 4. **处理深链接**: 深链接是一种特殊形式的URL,可以直接指向App内...
本篇将详细介绍如何使用Java来调用浏览器打开URL地址。 首先,Java提供了`Desktop`类,它是`java.awt.Desktop`包的一部分,可以用来与用户的桌面环境进行交互,包括打开浏览器、编辑文件、打印文档等。以下是一个...