手机iphone ios android 打开QQ对话框的网页代码!

2 篇文章 0 订阅
1 篇文章 0 订阅

QQ自带了一个接口,只要是使用手机打开该网址,就会弹出QQ对话框:

http://qm.qq.com/cgi-bin/qm/qr?k=

使用手机打开该网址可以进行测试:http://qm.qq.com/cgi-bin/qm/qr?k=2+/5FwXkAy4/UqlMOaqSUVglaDn/RaVy

该脚本HTML源码如下:


<!DOCTYPE html>
<html>
<head>
	<title id="page_title">二维码页面 - 打开http://www.baidu.com/</title>
	<meta http-equiv="X-UA-Compatible" content="IE=Edge">
	<meta charset="UTF-8">
</head>
<body>

<script type="text/javascript">
   // (function(){
	    var type = undefined;
	    var param = "";
	    var sid = undefined;
	    var rawuin = undefined;
	    var qsig = "undefined";

		var QQApi = {
			openURL: function(url){
		        var i = document.createElement('iframe');
		        i.style.display = 'none';
		        i.onload = function() { i.parentNode.removeChild(i); };
		        i.src = url;
		        document.body.appendChild(i);
		   
		        var returnValue = QQApi.__RETURN_VALUE;
		        QQApi.__RETURN_VALUE = undefined;
		        return returnValue;
		    },

		    isAppInstalled: function(scheme) {
		        var parameters = {'scheme':scheme};
		        var r = QQApi.openURL('jsbridge://app/isInstalled_?p=' + encodeURIComponent(JSON.stringify(parameters)));
		        return r ? r.result : null;
		    },

		    isQQWebView: function(){
		    	return QQApi.isAppInstalled('mqq') == true;
		    },

		    __RETURN_VALUE: undefined
		};


		var usa=navigator.userAgent;
		var p;

		
		var mobile_q_jump = {
			android:"https://play.google.com/store/apps/details?id=com.tencent.mobileqq",
			ios:"itms-apps://itunes.apple.com/cn/app/qq-2011/id444934666?mt=8",
			winphone:"http://www.windowsphone.com/zh-cn/store/app/qq/b45f0a5f-13d8-422b-9be5-c750af531762",
			pc:"http://mobile.qq.com/index.html"
		};
		var isMQ = 0;
		if(typeof type == "undefined") type = 1;

		if(usa.indexOf("Android")>-1){
			p = "android";
		}
		else if(usa.indexOf("iPhone")>-1 || usa.indexOf("iPad")>-1 || usa.indexOf("iPod")>-1){
			p = "ios";
		}
		else if(usa.indexOf("Windows Phone") > -1 || usa.indexOf("WPDesktop") > -1){
			p = "winphone";
		}
		else {
			p = "pc";
		}
		
		if(p == "ios"){
			//防止循环
			if(history.pushState)
				history.pushState({},"t","#");
			isMQ = QQApi.isQQWebView();

			if (!isMQ){ 
				var sc = document.createElement("script");
				sc.src = "http://__.qq.com/api/qqapi.js";
				sc.onload = function(){
					if(window['iOSQQApi']){
						isMQ =iOSQQApi.device.isMobileQQ(); 
					}
				};
				document.body.appendChild(sc);
			}
	
			
		}
		else if(p == "pc" && qsig != "undefined"){
			window.open(qsig,"_self");
		}

		
		if(type == 1){//手Q
			var isSuccess = true;

			var f = document.createElement("iframe");
			f.style.display = "none";
			document.body.appendChild(f);

			f.onload = function(){
				isSuccess = false;
			};

			if(p == "ios" && sid == 2){//ios并且为群名片
				f.src = "mqqapi://card/show_pslcard?src_type=internal&version=1&uin="+ rawuin +"&card_type=group&source=qrcode";
			}
			else if(p != "pc"){
				var url = window.location.href.split("&");
				f.src = "mqqopensdkapi://bizAgent/qm/qr?url=" + encodeURIComponent(url[0]);
			}
			//群
			if(sid == 2){
				document.title = "申请加入QQ群";
			}

			var now = Date.now();
			setTimeout( function(){
				if((p == "ios" && !isMQ && Date.now() - now < 2000) || (p == "android" && !isSuccess) || ((p == "winphone" && Date.now() - now < 2000))){
					var jumpUrl = mobile_q_jump[p]; 
					if(jumpUrl) window.open(jumpUrl,"_self");
				}
			} , 1500);
			
		}
	

	//})();
</script>
</body>
</html>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值