尊龙d88官方网站

<wbr id="oi25s"><source id="oi25s"><option id="oi25s"></option></source></wbr>
      <big id="oi25s"></big>
      
      
    1. 瀏覽器喚起QQ聊天解決方案

      作者: admin 分類: 前端 發布時間: 2018-01-22 13:36

      說明

       

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

      正文

       

      針對跳轉喚起QQ,QQ推廣的官方網站http://shang.qq.com/v3/index....為從瀏覽器中喚起qq提供了支持,只需要掃描登錄需要被喚起的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="點擊這里給我發消息" title="點擊這里給我發消息"/>
      </a>

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

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

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

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

      3. 網頁內嵌到自開發的App中,需要喚起QQ時也會出現類似與 1 的情況。

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

      通過了解,發現app之間的聯系可以通過一種叫做深度鏈接的技術解決,所謂的深度鏈接就是繞過網站的首頁直接鏈接道分頁的一種鏈接技術,具體想要了解的可以看看LinkedMe上的一片博文https://www.linkedme.cc/blog/...。

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

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

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

      其中數字“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代表測試成功):

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

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

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

      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);
              }
          }
      };

      這套方案中,手機端使用URL Scheme,電腦端使用QQ推廣的方案。

      如果覺得我的文章對您有用,請隨意打賞。您的支持將鼓勵我繼續創作!

      尊龙d88bbin平台 D88尊龙移动客户端 尊龙d88开户登入 尊龙d88网址备用登 尊龙d88来就送38 尊龙d88注册登录 尊龙d88官网免费下载 D88尊龙电脑版 下载尊龙d88app d88尊龙手机登录免费下载 尊龙d88手机版在线登录 尊龙d88登录安卓版下载 尊龙d88旧版登陆 尊龙d88下载 d88尊龙网页版登录手机 尊龙d88手机版在线登录 d88尊龙压大小打不开 尊龙d88旧版登陆 尊龙d88登录安卓版下载 尊龙d88旧版登录网址下载 尊龙d88官网免费下载 尊龙d88官网免费下载 d88尊龙新版登录 尊龙d88手机网页登录 D88尊龙网址大全 尊龙d88旧版登陆 下载尊龙d88app d88尊龙登录下载 尊龙d88开户登入 尊龙d88旧版登录网址下载 尊龙d88旧版网址 尊龙d88旧版网址 尊龙d88官网免费下载 尊龙d88登录 尊龙d88登录 d88尊龙官网免费下载 尊龙d88来就送38 尊龙d88下载 尊龙d88旧版登录网址下载 D88尊龙网址大全 尊龙d88手机版在线登录 尊龙d88用现金娱乐 d88尊龙压大小打不开 尊龙d88注册登录 尊龙d88登录安卓版下载 d88尊龙官网免费下载 尊龙d88来就送38 D88尊龙移动客户端 d88尊龙手机登录免费下载 尊龙d88手机版下载网址
      D88尊龙手机版登录 D88尊龙电脑版 D88尊龙移动客户端 D88尊龙网址大全 d88尊龙压大小打不开 d88尊龙官网免费下载 d88尊龙官网登录免费下载 d88尊龙手机登录 d88尊龙手机登录免费下载 d88尊龙新版登录 d88尊龙登录下载 d88尊龙网址 d88尊龙网页版登录手机 下载尊龙d88app 尊龙d88app 尊龙d88bbin平台 尊龙d88下载 尊龙d88官方网站 尊龙d88官网免费下载 尊龙d88开户登入 尊龙d88手机版下载网址 尊龙d88手机版在线登录 尊龙d88手机网页登录 尊龙d88旧版登录网址下载 尊龙d88旧版登陆 尊龙d88旧版网址 尊龙d88来就送38 尊龙d88注册登录 尊龙d88游戏登录入口 尊龙d88用现金娱乐 尊龙d88登录 尊龙d88下载 沁水县| 斗六市| 兰州市| 共和县| 镇安县| 凤翔县| 栾城县| 广安市| 贺兰县| 哈密市| 临朐县| 石狮市| 宣化县| 扎囊县| 宁德市| 徐水县| 安达市| 神农架林区| 阜城县| 宁海县| 肥东县| 沂水县| 新密市| 介休市| 体育| 玉树县| 阳信县| 镇江市| 益阳市| 专栏| 鄂托克前旗| 平乡县| 庐江县| 许昌市| 峡江县| 利津县| 神池县| 彭阳县| 天长市| 上虞市| 蕉岭县|