由於公司業務中涉及到一個分享指引功能,而像微信、QQ內置瀏覽器需要引導用戶點擊右上角進行操作,其他瀏覽器則引導點擊瀏覽器下方進行操作,因此需要區分瀏覽器類型;
通過在頁面alert(navigator.userAgent)可以觀察到在QQ瀏覽器中包含關鍵字"mqqbrowser"而QQ內置瀏覽器中包含" qq"這里qq前面多一個空字符串;
var ua = navigator.userAgent.toLowerCase(), isWx = false,isQQ = false, isQQInstalled = false; if(ua.indexOf(' qq')>-1 && ua.indexOf('mqqbrowser') <0){ //qq內置瀏覽器 isQQInstalled = true; return; } if(ua.indexOf('mqqbrowser')> -1 && ua.indexOf(" qq")<0){ //qq瀏覽器 isQQ = true; return; } if (ua.match(/MicroMessenger/i) == 'micromessenger') { //微信瀏覽器 isWx = true; return; }
代碼簡單粗糙但容易理解,希望對您有幫助。