`
dreamoftch
  • 浏览: 498048 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

腾讯webQQ判断浏览器

 
阅读更多
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<script>
var g = {
	isHTML : '${wpatype}',
	tuin : '80191460',
	closeWindow: function(){
		if(g.isHTML == 'JS'){
			return;
		}
		var browserName = navigator.appName;
		if(browserName == "Netscape"){
			window.open('', '_self', '');
			window.close();
		} else if(browserName == "Microsoft Internet Explorer"){
			window.opener = null;
			window.open('', '_top');
			window.top.close();
		}
	},
	reportM: function(id){
		var img = document.createElement("img");
		img.src = "http://wp.qq.com/cgi-bin/api_attr?id=" + id + "&SigT=" + g.sigt;
	},
	reportB: function(id){
		var img = new Image(), timestamp = +(new Date());
		img.src = 'http://cgi.connect.qq.com/report/report?strValue=' + g.tuin + '&nValue=' + id + '&tag=0&t=' + timestamp;
	},
	reportBNL: function(arrId){
		var img = new Image(), timestamp = +new Date();
		for(var i = 0, len = arrId.length; i < len; i++){
			arrId[i] = g.tuin + "_" + arrId[i] + "_0";
		}
		img.src = 'http://cgi.connect.qq.com/report/report?log=' + arrId.join("|") + '&tag=0&t=' + timestamp;
	},
	checkActiveX: function(){
		var kXmlHttp = null;
		try {
			if(typeof XMLHttpRequest != "undefined"){
				kXmlHttp = new XMLHttpRequest();
				return true;                
			}
		} catch(e) {}
		var aVersionhs = ["MSXML2.XMLHttp.3.0","MSXML2.XMLHttp.6.0","MSXML2.XMLHttp","Microsoft.XMLHttp","MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0"];
		for(var i = 0; i < aVersionhs.length; i++){
			try {
				kXmlHttp = new ActiveXObject(aVersionhs[i]);
				return true;
			} catch(e) {}
		}
		return false;
	},
	checkBrowser : function(rp){
		var ua = navigator.userAgent.toLowerCase(),
			browser, version,
			match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
			/(webkit)[ \/]([\w.]+)/.exec(ua) ||
			/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(ua) ||
			/(msie) ([\w.]+)/.exec(ua) ||
			ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(ua) || [];

		browser = match[1] || "";
		version = match[2] || "0";
		this.ie = browser == "msie";
		this.chrome = browser == "chrome";
		this.webkit = browser == "webkit";
		this.firefox = browser == "mozilla";
		this.opera = browser == "opera";
		this.browserVersion = parseInt(version, 10);
		if(this.chrome || this.webkit){
			rp.push(10759);
		}
		if(this.chrome){
			rp.push(this.browserVersion<23?10761:10762);
		}
		if(this.firefox){rp.push(10760);}
		if(browser == 'opera' || browser == ''){
			rp.push(10763);
		}
	},
	checkPlatform : function(rp){
		var pf = navigator.platform.toLowerCase();
		switch(true){
			case (/win/).test(pf) : rp.push(10753);
				break;
			case (/android/).test(pf) : rp.push(10754);
				break;
			case (/iphone/).test(pf) :
			case (/ipod/).test(pf) :
			case (/ipad/).test(pf) : rp.push(10755);
				break;
			case (/mac/).test(pf) : rp.push(10756);
				break;
			case (/linux/).test(pf) : rp.push(10757);
				break;
			default : rp.push(10758);
				break;
		}
	},
	tryPlugin : function(plugin){
		var plugin = "application/" + plugin;
		if(navigator.mimeTypes[plugin]){
			var obj = document.createElement("embed");		
				obj.type = plugin;
				obj.style.width = "0px";
				obj.style.height = "0px";
			document.body.appendChild(obj);
			try{
				ok = obj.InitActiveX("TimwpDll.TimwpCheck");
			}catch(e){
				g.webChat();
				return false;
			}
			
			if(ok){
				var qqver = obj.GetHummerQQVersion();
				if(!qqver){
					g.webChat();
					return false;
				}
				return true;
			} else {
				g.webChat();
				return false;
			}
		} else {
			g.webChat();
			return false;
		}
	},
	webChat : function(){
		setTimeout(function(){
			window.location = "http://wp.qq.com/open_webaio.html?sigt=" + g.sigt + "&sigu=" + g.sigu + "&tuin=" + g.tuin;
		}, 200);
	}
};

var init = function(){
	var tencentSeries = "tencent://message/?Menu=yes&uin=1111111&Site=&Service=201&sigT=a24cb97f2185099ebd97e3e77b1b0e653135d85fe63dc27908cc13ded97cfd17048f9ceb6d5a66f7e31e948b0d7f073e&sigU=29a5998c41261dd2adabd3421621b585f433b5c4336840fd6715f773844a1bef1905b0d19fe82db1", reportPool = [];
	// reportPool.push(10582);
	g.reportB(10582);
	if(tencentSeries) {
		reportPool.push(10584);
	}
	g.sigt = tencentSeries.replace(/^\S+sigT=/g, "").replace(/&\S+$/g, "");
	g.sigu = tencentSeries.replace(/^\S+sigU=/g, "").replace(/&\S+$/g, "");
	var from = window.location.search.replace(/^\S+from=/g, "").replace(/&\S+$/g, "");
	if(from == 'discuz'){
		reportPool.push(10774);
	}

	g.checkBrowser(reportPool);
	g.checkPlatform(reportPool);

	if(g.ie){
		if(window.ActiveXObject){
			try{
				var PTLoginCtrl = new ActiveXObject("SSOAxCtrlForPTLogin.SSOForPTLogin2");
				var vInitData = PTLoginCtrl.CreateTXSSOData();
				PTLoginCtrl.InitSSOFPTCtrl(0, vInitData);
				var vOptData = PTLoginCtrl.CreateTXSSOData();
				var vResult = PTLoginCtrl.DoOperation(2, vOptData);
				var vAccountList = vResult.GetArray("PTALIST");
				if(vResult != null){
					reportPool.push(10708);
					var uListSize = vAccountList.GetSize();
					if(uListSize > 0){
						reportPool.push(10709);
					} else {
						reportPool.push(10710);
					}
				}
			} catch(e) {}
		}
	} else {
		if(navigator.mimeTypes["application/nptxsso"]){
			var obj = document.createElement("embed"), ok;		
			obj.type="application/nptxsso";
			obj.style.width="0px";
			obj.style.height="0px";
			document.body.appendChild(obj);
			try{
				ok = obj.InitPVANoST();
			}catch(e){}
			
			if(ok){
				reportPool.push(10708);
				var count = obj.GetPVACount();
				if(count>0){
					reportPool.push(10709);
				} else {
					reportPool.push(10710);
				}
			}
		}
	}

	if(!g.ie){
		g.reportM(2);
		reportPool.push(10583);
		g.reportBNL(reportPool);
		if(g.firefox || (g.chrome && g.browserVersion < 23) || g.webkit){
			if(!g.tryPlugin("qscall-plugin")){
				// return;
			}
		} else if(g.chrome){
			if(!g.tryPlugin("npchrome-plugin")){
				// return;
			}
		} else if(g.opera){
			g.webChat();
			return;
		}

		var iframe = document.createElement("iframe");
		iframe.setAttribute('frameborder', '0', 0);
		iframe.src = tencentSeries;
		document.body.appendChild(iframe);
		window.setTimeout(function(){
			g.closeWindow();
		}, 2000);
	} else { //ie
		reportPool.push(10667);
		if (!g.checkActiveX()){
			reportPool.push(10652);
			g.reportBNL(reportPool);
            g.webChat();
			return;
		}
		reportPool.push(10668);
		try	{
			var cpTimwp = new ActiveXObject("TimwpDll.TimwpCheck");
			if(cpTimwp){
				reportPool.push(10669);
				g.reportBNL(reportPool);
				window.location=tencentSeries;
				window.setTimeout(g.closeWindow,200);
				return;
			}
		} catch(e) {
			g.reportM(1);
			reportPool.push(10632);
			g.reportBNL(reportPool);
            g.webChat();
		}
	}
};
//init();
</script>
</body>
</html>

 

分享到:
评论

相关推荐

    腾讯webqq的加密方式

    也就是做webqq接口的时候可以直接查看加密方法。除非你开发软件像易语言一样直接调用js来对变量转换,要不就了解下加密机制。

    WEBQQ 3.0 协议(完整加代码)

    WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议WEBQQ 3.0 协议...

    webqq+内核浏览器+很方便很小的浏览器

    刚毕业,一离开学校就面对很多生存问题,不禁让我想起过去那些漂泊的岁月。 我不曾忘记五年前一样的初中毕业,一样的离别,一样的迷茫。 还有四年前,一样的电大,一样的离别,一样的难舍,一样的四海为家。...

    webqq 源码 webqq仿制

    WebQQ源码与仿制是一项涉及前端开发、网络通信、用户界面设计以及浏览器兼容性等多个IT领域的技术工作。WebQQ是腾讯公司推出的一款基于Web的即时通讯服务,它允许用户在网页上登录并使用QQ,无需下载安装客户端软件...

    WEBqq在线文件

    WebQQ是腾讯公司推出的一种基于网页的即时通讯服务,让用户无需下载客户端即可通过浏览器进行聊天、发送文件等操作。它实现了互联网与即时通讯的结合,方便了那些无法或不便安装桌面版QQ的用户。 【描述】"Web_QQ...

    qt c++ webQQ 源码

    而WebQQ则是腾讯公司推出的一种基于网页的QQ客户端,它允许用户在浏览器中使用QQ服务,无需安装额外的应用程序。这个"qt c++ webQQ"源码项目,是开发者利用Qt库调用腾讯的Web接口,实现了一个高仿真的QQ客户端应用。...

    WebQQ_Demo WebQQ_Demo

    8. **API调用**:WebQQ_Demo需要与腾讯的QQ服务器进行交互,这可能涉及到对腾讯提供的API接口进行调用,获取用户信息、发送/接收消息等服务。 9. **响应式设计**:为了适应不同设备和屏幕尺寸,WebQQ_Demo可能采用...

    WEBQQ登陆器.rar

    WEBQQ是腾讯公司推出的一种基于网页的QQ聊天服务,用户无需下载客户端,只需在网页上即可进行QQ聊天。这里的"登陆器"可能是指一个辅助工具或者网页应用的源代码,允许用户更方便地访问和使用WEBQQ服务。 【描述分析...

    webQQ

    【标题】"WebQQ"揭示了我们讨论的主题是基于网页的QQ客户端实现,它允许用户在Web浏览器上体验类似于桌面版QQ的聊天功能。这种技术的实现基于Asp.net平台,利用C#编程语言编写了全部的源代码,旨在提供跨平台的即时...

    WebQQ机器人

    WebQQ协议是腾讯为网页版QQ设计的一套通信协议,它与传统的桌面QQ客户端使用的协议有所不同,主要适应于浏览器环境。 Smart QQ是腾讯推出的一种轻量级的QQ访问方式,它的核心在于提供一个简洁的界面和高效的性能。...

    WebQQ源代码for php

    3. **腾讯QQ API**:理解和使用腾讯提供的WebQQ API至关重要。这包括了解如何获取API密钥,以及如何使用API来实现登录验证、消息收发等功能。开发者需要掌握API调用的格式、参数设置和错误处理。 4. **JSON数据格式...

    webQQ.rar_webqq

    7. **Web服务接口**:为了实现WebQQ的功能,开发者可能需要调用腾讯提供的WebQQ API或SDK,这些接口提供了登录、发送消息、接收消息等基本的QQ功能。 8. **安全性与隐私保护**:WebQQ作为一款在线应用,必须处理好...

    WebQQ桌面布局 WebQQ

    WebQQ桌面布局是一种基于网页技术实现的QQ客户端界面设计,它允许用户在浏览器上体验类似于桌面应用的QQ聊天功能。这种布局充分利用了Web技术的优势,如JavaScript库jQuery,来实现动态交互和响应式设计,为用户提供...

    仿WEBQQ3.0源码,dzz云桌面1.1 GBK版

    有用过WebQQ的网友应该知道,WebQQ3.0集成了腾讯的大部分网页可以体现的功能,只需要进入这个网页,便可使用腾讯包括WebQQ、浏览器、搜搜、电影、音乐、游戏、微博、邮箱、网盘、还有QQ地图等一系列的产品和服务。...

    WebQQ协议源码

    WebQQ协议是腾讯为了在浏览器上实现QQ聊天功能而设计的一种通信协议,它使得用户无需下载安装客户端,通过网页就能进行QQ聊天。这份源码可能是用易语言编写,易语言是一种中国本土的编程语言,以其直观的“易”字...

    WebQQ协议.rar

    1. **HTTP协议**:WebQQ协议的基础是HTTP协议,它用于在客户端(浏览器)和服务器之间传输数据。HTTP协议支持请求/响应模型,允许客户端向服务器发送请求并接收响应。 2. **WebSocket协议**:为了实现实时通信,...

    迷你QQ-WEBQQ

    迷你WEBQQ

    jquery-WebQQ桌面布局

    在描述中提到的“WebQQ”,指的是腾讯公司推出的一种基于Web的即时通讯服务,它让用户可以在不安装QQ客户端的情况下,通过浏览器进行在线聊天、发送文件等操作。而“WebQQ桌面布局”则是将这种体验进一步优化,通过...

    仿WebQQ.rar

    【标题】"仿WebQQ.rar"是一个项目压缩包,它旨在模仿WebQQ的桌面系统,让用户在桌面环境下体验类似于WebQQ的交互与功能。这个项目是用纯JQuery技术实现的,这意味着它主要依赖于JQuery库来处理DOM操作、事件绑定、...

Global site tag (gtag.js) - Google Analytics