iOS浏览器不能打开手机QQ客服与指定用户聊天界面

Posted 柠夏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS浏览器不能打开手机QQ客服与指定用户聊天界面相关的知识,希望对你有一定的参考价值。

这个问题是我在公司需求的时候遇到的,QQ推广工具网站获取的链接在苹果自带浏览器没法打开到聊天界面,是因为safair在打开到app store的时候把参数给丢了,app store再打开到QQ的时候就无法打开到链接所属人的聊天界面。

在浏览器中可以通过JS代码打开QQ并弹出聊天界面,一般作为客服QQ使用。而在移动端腾讯貌似没有公布提供类似API,但是却可以使用schema模式来启动手机QQ。

一般是去QQ推广工具网站获取链接,链接类似如下:

http://wpa.qq.com/msgrd?v=3&uin=2145212703&site=弹溜溜官方&menu=yes

android端,处理方法:

String url="mqqwpa://im/chat?chat_type=wpa&uin=572839485"; 
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));

ios端,处理方法:

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];
NSURL *url = [NSURL URLWithString:@"mqq://im/chat?chat_type=wpa&uin=572839485&version=1&src_type=web"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
webView.delegate = self;
[webView loadRequest:request];
[self.view addSubview:webView];

注意:“mqq://im/chat?chat_type=wpa&uin=2145212703&version=1&src_type=web”能解决ios自带浏览器不能打开到QQ聊天窗问题,但是?这种方式微信浏览器不支持直接打开QQ?

解决方法: 判断用户所在浏览器是否是微信浏览器,然后跳转微信可以打开QQ聊天窗的链接,代码如下:

 function is_weixin(e) { 
  var ua = window.navigator.userAgent.toLowerCase();
  if (ua.match(/MicroMessenger/i) == ‘micromessenger‘) {
    e.attr(‘href‘, ‘http://wpa.qq.com/msgrd?v=3&uin=2145212703&site=弹溜溜官方&menu=yes‘); }
  else {
    e.attr(‘href‘,‘mqq://im/chat?chat_type=wpa&uin=2145212703&version=1&src_type=web‘); }
}
 $(‘.u-cs‘).click(function () {
    is_weixin($(this));
 });?










以上是关于iOS浏览器不能打开手机QQ客服与指定用户聊天界面的主要内容,如果未能解决你的问题,请参考以下文章

Android,iOS打开手机QQ与指定用户聊天界面

Android,iOS打开手机QQ与指定用户聊天界面

iOS跳转到QQ群或指定QQ客服页面

浏览器中点击链接,跳转qq添加好友的实现方式

如何在手机浏览器网页中点击链接跳转到QQ聊天界面

如何在手机浏览器网页中点击链接跳转到QQ聊天界面