溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

手機端網(wǎng)站無法跳轉(zhuǎn)喚起QQ的解決方法

發(fā)布時間:2020-05-25 09:20:46 來源:億速云 閱讀:9639 作者:Leah 欄目:web開發(fā)

手機端網(wǎng)站無法跳轉(zhuǎn)喚起QQ怎么辦?相信很多新手小白對此束手無策,通過這篇文章的總結(jié),希望你能找到解決的方法。

背景介紹

從瀏覽器喚起QQ進行聊天,是很多公司或者企業(yè)會用到的一種客服方式,然而很多時候,一些手機端瀏覽器并不支持直接跳轉(zhuǎn)到QQ,或者不支持從App內(nèi)嵌的網(wǎng)頁中跳轉(zhuǎn)到QQ頁面。

正文

針對跳轉(zhuǎn)喚起QQ,QQ推廣的官方網(wǎng)站,只需要掃描登錄需要被喚起的QQ號,就可以生成一段代碼如下所示:

<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=123456789&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:123456789:52" alt="點擊這里給我發(fā)消息" title="點擊這里給我發(fā)消息"/></a>

這里的數(shù)字“123456789”就是需要被喚起的QQ號碼。

應(yīng)用這種方式,可以在大部分的瀏覽器中喚起QQ客戶端,并定位到聊天頁面,只是以下幾種情況中這種方式會失效:

1、蘋果手機自帶的 Safari 瀏覽器會提示是否在AppStore中打開鏈接,如果選擇是就會直接跳轉(zhuǎn)到App Store 中,然后才能跳轉(zhuǎn)到QQ,但是兩次跳轉(zhuǎn)會丟失參數(shù),導(dǎo)致不能打開需要聊天的對象;

2、在手機端Google瀏覽器中也會存在類似于 1 中的情;

3、網(wǎng)頁內(nèi)嵌到自開發(fā)的App中,需要喚起QQ時也會出現(xiàn)類似與 1 的情況;

由于Safari瀏覽器在蘋果手機端使用率很高,應(yīng)業(yè)務(wù)需求,就不得不為它找一種另外的方式。

通過了解,發(fā)現(xiàn)app之間的聯(lián)系可以通過一種叫做深度鏈接的技術(shù)解決,所謂的深度鏈接就是繞過網(wǎng)站的首頁直接鏈接道分頁的一種鏈接技術(shù)。

深度鏈接中的一個解決方案就是定義一個新的URL Scheme ,這個URL Scheme可以通過特定的URI方式傳遞參數(shù)給另一個APP,從而改變App之間獨立不通信的局面。

單獨說倒喚起QQ,或者解決Safari瀏覽器不能喚起QQ的問題,可以使用如下的URI:

mqqwpa://im/chat?chat_type=wpa&uin=123456789&version=1&src_type=web&web_src=oicqzone.com

其中數(shù)字“123456789”同樣的是需要被喚起的QQ。

<a target="_blank" href="mqqwpa://im/chat?chat_type=wpa&uin=123456789&version=1&src_type=web&web_src=oicqzone.com">
 123456789</a>

通過多次測試,我整理出如下手機端瀏覽器喚起QQ的各種不同情況(其中no代表測試不成功,ok代表測試成功):

手機端網(wǎng)站無法跳轉(zhuǎn)喚起QQ的解決方法

這里需要提到一點,將URL Scheme 的方案用于電腦的各種瀏覽器從而去喚起QQ是不起任何效果,因為URL Scheme是專門為解決APP之間孤立的情況而提出來的,并不適用于電腦應(yīng)用,但是在電腦端可以使用QQ推廣給出的的方案。

知道了如何解決App跳轉(zhuǎn)到QQ的方法,但是很多時候我們希望有一種通用的辦法可以解決上述幾種情況,保證在大多數(shù)瀏覽器(包括電腦瀏覽器)只需要一套代碼就可以解決問題。

我個人通過判斷瀏覽器的userAgent區(qū)分手機端瀏覽器還是電腦端瀏覽器,然后為它們分別提供不同的方案:

HTML代碼

<a href="javascript:void(0)" data-qq='qq'>111111111111</a>

JavaScript代碼

window.onload = function () {
    var as = document.getElementsByTagName('a');
    var kefu101 = "http://wpa.qq.com/msgrd?v=3&uin=381232999&site=oicqzone.com&menu=yes";    
    var kefu102 = "mqqwpa://im/chat?chat_type=wpa&uin=381232999&version=1&src_type=web&web_src=oicqzone.com";    
    for (var i = 0, len = a.length; i < len; i++) {        
        if (as[i].hasAttribute('data-qq')) {            
            as[i].onclick = (function (i) {                
                return function (e) {                    
                var kefu = e.target ? e.target.getAttribute('data-qq') : e.srcElement.getAttribute('data-qq');                    if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent) || /(Android)/i.test(navigator.userAgent)) {                        window.open(kefu102);
                    }
                    else {window.open(kefu101);
                    }
                }
            })(i);
        }
    }
};

更多相關(guān)資訊:

在app中如何實現(xiàn)喚醒qq

手機網(wǎng)頁顯示無法訪問該網(wǎng)頁的原因是什么 

Android應(yīng)用跳轉(zhuǎn)到手機QQ的方法   

以上就是手機端網(wǎng)站無法跳轉(zhuǎn)喚起QQ的解決方法了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI