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));
});
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
· 用 C# 插值字符串处理器写一个 sscanf