JQ實現判斷iPhone、Android設備


最近做了一版微信宣傳頁,通過JQ來判斷設備,並進行下載

微信內置瀏覽器對下載鏈接進行了屏蔽,所以先進行判斷,如果是微信內置瀏覽器,則跳轉應用寶鏈接,如果不是,則判斷是iPhone/Adroid/PC 並進行跳轉

代碼如下:

function downloadApp(){
 	var u = navigator.userAgent; 
 	var ua = navigator.userAgent.toLowerCase(); 
	var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android終端 
	var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端 
 	if(ua.match(/MicroMessenger/i)=="micromessenger") {  //微信內置瀏覽器
		$(".download a").click(function(){
			window.location.href='http://a.app.qq.com/o/simple.jsp?pkgname=應用名 '
		});
 	}else{
 		if(isiOS){
		
			$(".download a").click(function(){
				window.location.href='https://itunes.apple.com/cn/app/應用名'
			});
		}else if(isAndroid){
			$(".download a").click(function(){
				window.location.href='http://a.app.qq.com/o/simple.jsp?pkgname=應用名'
			});
		}else{
			$(".download a").click(function(){
				window.location.href='應用鏈接'
			});
		}
	}
	
 }

測試發現,<a>標簽里竟然出現了 需要點擊二次才能跳轉的情況,所以進行完善,而且發現已經在時間上綁定了click事件 還包在函數里 好像有點多此一舉。。

$(function(){
	var u = navigator.userAgent; 
 	var ua = navigator.userAgent.toLowerCase(); 
	var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android終端 
	var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端 
 	if(ua.match(/MicroMessenger/i)=="micromessenger") {   //微信內置瀏覽器+應用寶鏈接
		$(".download a").bind('touchstart', function (event) {
			window.location.href='http://a.app.qq.com/o/simple.jsp?pkgname=應用名 '
		});
 	}else{
 		if(isiOS){
			$(".download a").bind('touchstart', function (event) {
				window.location.href='https://itunes.apple.com/cn/app/應用名'
				
			});
		}else if(isAndroid){
			$(".download a").bind('touchstart', function (event) {
				window.location.href='http://a.app.qq.com/o/simple.jsp?pkgname=應用名'
				
			});
		}else{  //PC 端
			$(".download a").click(function(){
				window.location.href='應用鏈接'
			});
		}
	
	}
	
});

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM