需求:

pc端和移动端都有,点击QQ咨询跳唤起QQ对话。

遇到的问题:

微信内置浏览器无法唤起QQ对话,具体代码如下,需要注意的一点就是在微信中唤起的QQ要在QQ推广中免费开通过的,否则此链接微信中无响应。

QQ推广地址

http://shang.qq.com/v3/index.html
具体操作就是,点击推广工具,登录要推广的QQ,会有一个弹窗,然后点击立即免费开通就可以了,无需其他操作,具体操作或链接,QQ推广页面有示例,就酱~

pc端链接引用:

<a href="http://wpa.qq.com/msgrd?v=3&amp;uin=11111111111&amp;site=qq&amp;menu=yes" target="_blank"></a>

移动端链接引用以及各终端适配兼容和微信内置浏览器判断

引用:
<a href="mqqwpa://im/chat?chat_type=wpa&amp;uin=11111111111&amp;version=1&amp;src_type=web&amp;web_src=oicqzone.com">
js中的判断:
 var browser = {
        versions: function () {
            var u = navigator.userAgent,
                app = navigator.appVersion;
            return {
                trident: u.indexOf('Trident') > -1, //IE内核
                presto: u.indexOf('Presto') > -1, //opera内核
                webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
                ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
                iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
                iPad: u.indexOf('iPad') > -1, //是否iPad
                webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
                weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
                qq: u.match(/\sQQ/i) == " qq" //是否QQ
            };
        }(),
        language: (navigator.browserLanguage || navigator.language).toLowerCase()
    }
//判断微信浏览器
    if (browser.versions.weixin) {
        $(".a_chat").attr("href", "http://wpa.qq.com/msgrd?v=3&uin=11111111111&site=qq&menu=yes");
    }
    
tip:
11111111111 这个换成自己要推广的QQ号码

扫描二维码,在手机上阅读!