手机浏览器下判断是否安装某app,并判断是否打开该应用

标签: 手机 浏览器 app | 发表时间:2014-11-06 23:49 | 作者:y2010081134
出处:http://www.iteye.com

      今天在做前端输出的时候,需要和app的做些对接工作。就是在手机浏览器中下载某app时,能判断该用户是否安装了该应用。如果安装了该应用,就直接打开该应用;如果没有安装该应用,就下载该应用。那么下面就对在浏览器中,用js判断某用户是否安装了该应用,并判断是否打开该应用做个简单的介绍。

      那么,怎么判断某用户是否安装了某应用呢?

      在这里,先写段html代码,如下:

<!doctype html>
<html>
<head>
	<meta charset="utf-8">
</head>
<body>
	<a href="某app下载链接" class="down_app"></a>
</body>
</html>

      判断手机端是否安装某应用,并打开该应用的js代码如下:

	function isInstalled(){
		var the_href=$(".down_app").attr("href");//获得下载链接
		window.location="apps custom url schemes";//打开某手机上的某个app应用
		setTimeout(function(){
			window.location=the_href;//如果超时就跳转到app下载页
		},500);
	}

      下面对这段js代码做一个简单的解析:首先试着打开手机端某个app的本地协议;如果超时就转到app下载页,下载该app。

      说到这里,有人就要问了,这个本地协议又是怎么建立的呢?好了,下面也就这个做个简单的介绍:

      其实就是在app中将http协议转换为本地协议,具体怎么转换,不在本讨论范围。但需要在app里面对配置文件做一下设置(一般是在manifest.xml文件的activity的intent filter里面):

<span>
<intent-filter>  
               <action android:name="android.intent.action.VIEW" />  
               <category android:name="android.intent.category.DEFAULT" />  
               <category android:name="android.intent.category.BROWSABLE" />  
               <data   
            android:scheme="**"   
            android:host="**.**"   
            android:pathPrefix="/**">  
         </data>  
</intent-filter>
</span>

      apps custom url schemes是什么呢?

      其实就是你与app约定的一个协议URL,在IOS客户端或者Android客户端中可以设置一个URL Scheme。例如,设置URL Scheme:app,然后其他的程序就可以通过“ URLString=app://”调用该应用。还可以传参数,如:app://reaction/?uid=1

      以上介绍了怎么创建该本地协议及调用该本地协议的方法。但这里还有个关键就是怎么判断用户是否安装了该app呢?原理如下:

      在手机浏览器中用js代码请求该协议,如果在500ms内,如果有应用程序能解析这个协议,那么就能打开该应用;如果超过500ms就跳转到app下载页。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [手机 浏览器 app] 推荐:

手机App仍不会取代浏览器

- - Kant's House 追从本心,笑斩荆棘
我这几年一直在思考“手机App会不会完全取代手机浏览器,后者是否会逐渐消亡”,观点也几度变化,在当前时间点(2015年4月),我的观点是, 移动端浏览器在暂时H5的体验仍旧无法达到原生效果的此时,固然在重度、用户重感知的需求上会让步于App,但在可以预见的未来来看,仍旧始终会是一个大型入口,不会被完全取代.

百度移动互联网趋势报告解读:PC、手机浏览器没落和 App 困境

- - TECH2IPO创见
百度今天正式发布《 2013 年 Q1 移动互联网趋势报告》. 这是一个例行季度报告,每期不乏看点. 值得移动互联网从业者尤其是创业者、移动互联网观察者和爱好者关注. 一、移动互联网拉大与 PC 差距. 移动互联网正逐步吞噬 PC 互联网的时长、流量和人气. 尤其是在去年 7 月的里程碑事件之后:百度去年 Q4 报告显示,移动设备时长历史性地超越 PC.

手机浏览器下判断是否安装某app,并判断是否打开该应用

- - 移动开发 - ITeye博客
      今天在做前端输出的时候,需要和app的做些对接工作. 就是在手机浏览器中下载某app时,能判断该用户是否安装了该应用. 如果安装了该应用,就直接打开该应用;如果没有安装该应用,就下载该应用. 那么下面就对在浏览器中,用js判断某用户是否安装了该应用,并判断是否打开该应用做个简单的介绍.       那么,怎么判断某用户是否安装了某应用呢.

Chrome和Firefox联手开发跨浏览器Web App应用

- pansin - Solidot
whuhacker 写道 "Mozilla曾经计划发布一个开放的跨浏览器Web App Store,使得Web应用可以运行于Firefox、Chrome、IE、Safari、Opera等多种浏览器. 现在,Chrome正和Firefox联手推进这项计划. 一个名为Web Intents的框架正在开发以帮助Web Apps更加顺畅地运行.

海豚浏览器HD版上架App Store

- 远 - cnBeta.COM
Dolphin是一款能够让iOS用户自定义手势控制的浏览器,由Mobotop推出,被称作是目前最智能的移动设备浏览器,因为它能够与用户进行互 动,并通过最简单,最直观的方式进行网页浏览. 调查显示,Dolphin是目前Android平台上受欢迎程度最高的浏览器.

手机QQ浏览器Logo设计

- Quantum - Rologo 标志共和国
9月9日,手机QQ浏览器发布全新的Logo,近日,该Logo设计者、深圳的GUI设计师shmzfeng在站酷放出了手机QQ浏览器Logo相关的设计稿. (文章中所有图片版权归腾讯公司所有). 最后修订为第5稿,然后针对图形配感觉靠谱的文字,在现有的文字基础上,进行优化字体细节,简要摘录(非定稿). 原文链接:http://www.zcool.com.cn/work/ZOTExMjky/3.html.

[转]手机浏览器工作原理

- - 小鸥的博客
现在电脑上的浏览器越来越多,出现了几大内核的浏览器纷争的局面. (小知识)几种常见的浏览器内核简介及优缺点:. Trident:Windows 下的 IE 浏览器使用的内核代号. 除 IE 外,众多的 IE Shell(如 Maxthon)都使用这个内核. 70%的占有率,几乎所有的互联网页面都要参照这个内核进行页面优化所以页面显示效果最好.

苹果 iPhone、iPad、iPod touch 上最好用的第三方浏览器:海豚浏览器(免费 App)

- 洞箫 - 苹果fans-中文 Apple Blog
    海豚浏览器是安卓平台上特别受欢迎的一款应用,开发商前几天发布了 iOS 版. 相比苹果 iOS 系统原生的 Safari 浏览器,海豚浏览器在标签化打开多网页、可伸缩侧边栏、“鼠标”手势、快速访问等方面都让人眼前一亮.     海豚浏览器支持多标签浏览,URL 栏左侧的新浪微博按钮,点击后直接将网页分享到新浪微博.

Chrome和Firefox联手开发跨浏览器Web App应用框架

- justjavac - cnBeta.COM
还记得Mozilla曾经计划发布一个开放的跨浏览器Web App Store吗. 现在,Chrome正和Firefox联手推进这项计划. 一个名为Web Intents的框架正在开发以帮助Web Apps更加顺畅地运行. Web Intents由Google的开发者Paul Kinlan提出,而现在Google Chromium以及Firefox的开发者们都在参与该计划.