這個問題是我在公司需求的時候遇到的,QQ推廣工具網站獲取的鏈接在蘋果自帶瀏覽器沒法打開到聊天界面,是因為safair在打開到app store的時候把參數給丟了,app store再打開到QQ的時候就無法打開到鏈接所屬人的聊天界面。 在瀏覽器中可以通過JS代碼打開QQ並彈出聊天界面,一般作為客服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));
});