在做web开时发,我们经常会遇到在线QQ客户这种梗,如果在pc端上的话直接调用连接即可,像这样:

<img  style="CURSOR: pointer"
onclick="javascript:window.open('http://b.qq.com/webc.htm?new=0&sid=1000000&o=ssssssss&q=7','_blank','height=502,toolbar=no,scrollbars=no,menubar=no,status=no');"  border="0"
SRC=http://wpa.qq.com/pa?p=1:1000000:1 alt="点击这里给我发消息">

调用上面的代码,你的网页上的QQ在线就长这样:
我们也可以去网上生成,现在有好多自动生成QQ在线客户的网站
比如这个:http://bizapp.qq.com/webpres.htm

但是如果是手机端的浏览器的话,你这样写是没用的。于是我在网络找了一个,也就是下面的js,
支持各种手机系统,点击可以直接打开QQ客户端(提前是你得安装了手机qq)。

function openqq(){var type = undefined;var param = "";var sid = 2;var rawuin = <{$qq}>;//这里填写QQ号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){//手Qvar isSuccess = true;var f = document.createElement("iframe");f.style.display = "none";document.body.appendChild(f);f.onload = function(){isSuccess = false;};if(p == "ios" && sid == 1){f.src = "mqqapi://card/show_pslcard?src_type=internal&version=1&uin="+ rawuin +"&card_type=person&source=qrcode";}if(p == "ios" && sid == 2){//ios并且为群名片f.src = "mqqapi://card/show_pslcard?src_type=internal&version=1&uin="+ rawuin +"&card_type=person&source=qrcode";}else if(p != "pc"){var url = window.location.href.split("&");f.src = "mqqopensdkapi://bizAgent/qm/qr?url=" + encodeURIComponent(url[0]);}if(p == "android" && sid == 1){f.src = "mqqapi://card/show_pslcard?src_type=internal&version=1&uin="+ rawuin +"&card_type=person&source=qrcode";}if(p == "android" && sid == 2){//ios并且为群名片f.src = "mqqapi://card/show_pslcard?src_type=internal&version=1&uin="+ rawuin +"&card_type=person&source=qrcode";}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);}}

代码使用很简单只要在代码第五行<{$qq}>改为你得qq号码 ,直接调用即可打开手机qq;
例如:

<a href="javascript:;" onclick="openqq()">点击聊天</a>  

当我们点击上面的a标签时就会打开手机QQ并找到对应的QQ。(亲测有效,已经用在项目中了…)

原文地址 :http://www.thinkphp.cn/code/543.html

手机浏览器调用手机qq客户端的js相关推荐

  1. 关于采用浏览器调用手机摄像头问题

    之前一直做后台开发,最近项目客户想要采用android平板扫描物品条码,所以开始在网上看了众多关于采用浏览器调用摄像头的问题,让我十分疑惑的是,为什么很多解决案例并没有讲到移动端浏览器的支持问题,以致 ...

  2. Python selenium —— 用chrome的Mobile emulation模拟手机浏览器测试手机网页

    很多人发现chrome有项功能,就是在开发者工具里能够模拟手机打开网页,便想能否用selenium对此进行自动化测试.答案当然是yes! 今天博主便给大家分享下如何用chrome的MobileEmul ...

  3. python 浏览器模拟手机_Python selenium —— 用chrome的Mobile emulation模拟手机浏览器测试手机网页...

    很多人发现chrome有项功能,就是在开发者工具里能够模拟手机打开网页,便想能否用selenium对此进行自动化测试.答案当然是yes! chrome-emulation 今天博主便给大家分享下如何用 ...

  4. selenium之用chrome的Mobile emulation模拟手机浏览器测试手机网页

    很多人发现chrome有项功能,就是在开发者工具里能够模拟手机打开网页,便想能否用selenium对此进行自动化测试.答案当然是yes! 今天博主便给大家分享下如何用chrome的MobileEmul ...

  5. php 手机端唤起qq,通过手机浏览器调用客户端QQ

    可调用ios android QQ客户端,指定聊天QQ号,js代码 function qqcao(){ var type = undefined; var param = ""; ...

  6. 手机web端唤醒qq客户端以及电脑web端唤醒qq客户端

    1 电脑网页唤醒qq客户端 http://shang.qq.com/v3/widget.html 先在qq推广申请下,几分钟就弄好了,不然会有提示 <a target="_blank& ...

  7. 360手机浏览器_UC、QQ、华为、360、搜狗、小米、vivo、OPPO等8款手机浏览器被纳入首批传播秩序专项整治...

    新华社北京10月26日电(记者余俊杰)国家网信办10月26日晚发布公告,为有效解决网民反映强烈的手机浏览器网络传播乱象,即日起开展专项集中整治,UC.QQ.华为.360.搜狗.小米.vivo.OPPO ...

  8. 手机浏览器呼出QQ聊天窗口

    做一些手机html5网页的产品,难免会用到QQ聊天等,都知道电脑上面的网页是可以点击特殊的链接来打开电脑版本的QQ的,那手机呢... 手机端其实也有的,手机浏览器点击超链接调出手机QQ聊天界面地址: ...

  9. 360手机浏览器_360手机浏览器9.0新功能测评

    写在前面:鉴于360手机浏览器发布了全新的版本,为了更好地和大家展示介绍这款全新的版本,决定和大家做一次市面上主流的国产浏览器测评,因个人能力和精力有限,文章中可能出现一些不足和错误,也希望大家批评指 ...

最新文章

  1. ViewPager 设置间距的方法
  2. android怎么监听多点触摸_什么是多点触控技术,有哪些用途
  3. ScratchCardView:刮刮卡视图组件
  4. 我们梳理了一下VR教育,感觉它将会是下一个蓝海
  5. cocos2D(四)---- CCSprite
  6. 【转】先说IEnumerable,我们每天用的foreach你真的懂它吗?
  7. 250php货币,FreeHostia免费PHP空间中文面板250MB空间6GB流量
  8. eclipse php 代码风格,关于更改Zend Studio/Eclipse代码风格主题的介绍
  9. Linux下rc.local不执行问题
  10. 西南科技大学OJ题 集合的交运算的实现1045
  11. java ts视频文件合并
  12. HTML时间日期选择器
  13. 电路基础知识 -- 虚短和虚断
  14. pdf如何在线旋转?PDF旋转的方法
  15. 技嘉显卡性能测试软件,显卡性能与超频:性能高于公版,超频潜力可圈可点
  16. 迷失lost结局什么意思_迷失 美剧 结局是什么
  17. IT:如何把骨干留住
  18. 电脑怎么修改html5,详细教你怎么设置电脑默认浏览器
  19. Git(分布式版本控制工具)
  20. Java简单知识点小结

热门文章

  1. 自由截图、提取、翻译图中文字——搜狗浏览器之截图扩展
  2. 【深圳】工作5年,欠款1万5,是否还有必要待下去呢?
  3. R语言 逻辑回归模型与混淆矩阵
  4. antd Upload组件使用,出现闪动问题
  5. error: (-215:Assertion failed) src.checkVector(2, CV_32F) = = 4 dst.checkVector(2, CV_32F) == 4
  6. 1-1 一摞有风格的纸牌之一张纸牌
  7. 腾讯的web QQ接口
  8. 使用Struts2 开发一个简易的《B2C电子商务网站》 。续集(适合新手)
  9. 【转】TOEFL写作27分完全攻略
  10. ps 证件照替换背景色