javascript - uc、qq、搜狗 以上三個(gè)手機(jī)瀏覽器判斷移動(dòng)端的js代碼不執(zhí)行
問(wèn)題描述
如題寫(xiě)了一段代碼判斷移動(dòng)端就跳轉(zhuǎn),但是在uc、qq、搜狗的手機(jī)端不執(zhí)行,chrome、小米、微信的手機(jī)端瀏覽器可以執(zhí)行
var browser = {versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return {trident: u.indexOf(’Trident’) > -1, //IE內(nèi)核presto: u.indexOf(’Presto’) > -1, //opera內(nèi)核webKit: u.indexOf(’AppleWebKit’) > -1, //蘋(píng)果、谷歌內(nèi)核gecko: u.indexOf(’Gecko’) > -1 && u.indexOf(’KHTML’) == -1,//火狐內(nèi)核mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動(dòng)終端ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端android: u.indexOf(’Android’) > -1 || u.indexOf(’Adr’) > -1, //android終端iPhone: u.indexOf(’iPhone’) > -1, //是否為iPhone或者QQHD瀏覽器iPad: u.indexOf(’iPad’) > -1, //是否iPadwebApp: u.indexOf(’Safari’) == -1, //是否web應(yīng)該程序,沒(méi)有頭部與底部weixin: u.indexOf(’MicroMessenger’) > -1, //是否微信 (2015-01-22新增)qq: u.match(/sQQ/i) == ' qq' //是否QQ };}(), }; if (browser.versions.android || browser.versions.ios || browser.versions.mobile || browser.versions.iPhone||browser.versions.webApp||browser.versions.weixin||browser.versions.qq) {window.location = ’mobileWeb.html’ }
問(wèn)題解答
回答1:if(’ontouchend’ in document) { // 移動(dòng)端}回答2:
'SE'判斷搜狗,'UBrowser'判斷UC,要添加兩個(gè),修改'QQBrowser'判斷QQ,然后試試看
回答3:最終發(fā)現(xiàn)了,原來(lái)是寫(xiě)了一句es6的語(yǔ)法,uc、搜狗、qq瀏覽器不支持,導(dǎo)致報(bào)錯(cuò)代碼不執(zhí)行。。。下載了一個(gè)vConsole調(diào)試工具在移動(dòng)端才顯示了錯(cuò)誤。
回答4:正則對(duì)不上撒。把ua打印出來(lái),自己看下哪里沒(méi)匹配。移動(dòng)端的ua不是有更簡(jiǎn)單的mobile關(guān)鍵字嗎?搞的這么復(fù)雜?
相關(guān)文章:
1. html5 - 最近在自學(xué)react 求一個(gè)react表單提交的例子2. 請(qǐng)問(wèn)寫(xiě)好python模塊以后,文檔怎么寫(xiě)?3. 老師您好!我有一個(gè)問(wèn)題、4. javascript - jq 上傳圖片成功后添加一個(gè)新的上傳框時(shí)出現(xiàn)問(wèn)題5. mysql - 千萬(wàn)數(shù)據(jù) 分頁(yè),當(dāng)偏移量 原來(lái)越大時(shí),怎么優(yōu)化速度6. javascript - 微信內(nèi)置瀏覽器的ua是多少?7. jquery清除input type為password?8. Python爬蟲(chóng)如何爬取span和span中間的內(nèi)容并分別存入字典里?9. 我和老師的代碼對(duì)照了幾遍沒(méi)發(fā)現(xiàn)問(wèn)題,但是瀏覽器打開(kāi)就有問(wèn)題了,求解10. 使用PHP和MySQL的UNIQUE如何像京東注冊(cè)那樣保證用戶(hù)名唯一?
