本文主要和大家分享JS跳轉手機站url的若干注意事項實例詳解,希望能幫助大家。
我們手機站平台的設計初衷是對接我們已有的PC站平台,簡單說就是原來我們所有的用戶使用的是我們的PC站服務,現在可以得到一個網站數據與PC站一樣的手機站點。重點是老用戶還不收錢,免費用。 (PC端網站的客戶想想是不是有點小激動呢)上線一段時間,感覺很多客戶還蠻感興趣的,都在自己的手機上安裝了這個那個的二維碼掃面軟體,對著手機網站的二維碼掃啊掃的。
話入正題:
廢話不多說,很多客戶慕名而來,原來不是我們做PC的客戶買了我們的手機站服務,這就產生了從其PC站如何能夠跳到手機站的問題。
我想,透過javascript取得客戶端的 navigator.userAgent 之後使用url跳轉 是一個不錯的方法。
走你-程式碼:
var isMobile = { Android: function() { return navigator.userAgent.match(/Android/i) ? true : false; }, BlackBerry: function() { return navigator.userAgent.match(/BlackBerry/i) ? true : false; }, iOS: function() { return navigator.userAgent.match(/iPhone|iPod/i) ? true : false; }, Windows: function() { return navigator.userAgent.match(/IEMobile/i) ? true : false; }, Linux: function() { return navigator.userAgent.match(/Linux/i) ? true : false; }, any: function() { return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows() || isMobile.Linux()); } }; setTimeout(function() { if (isMobile.any()) { var body = document.getElementsByTagName('body'); body[0].style.display='none'; location.href = "http://m.某某.com/"; } }, 10);
簡單分析:
一、在那些裝置上需要跳轉URL?
在XP,win7和mac下,通常不做手機站跳轉的。
市面上的 Android 、BlackBerry 、iOS 、Windows mobile(phone) 、Linux等系統,為大家所常用的手機端作業系統。火狐的webOS,「遠古時代」的諾基亞塞班等等,在國內外好像好沒有市場了,不要去考慮。
二、在頁面跳轉時,有哪些問題?
1.原PC網站需要載入的資源可能很多,跳轉URL之前PC站的頁面可能已經呈現,跳轉的效果太生硬
解答:js取得終端的特性後,立即將body設定為隱藏
2.使用window.onload 還是setTimeout?
解答:setTimeout是由我選擇何時執行,而可惡的window.onload需要我等所有的資源下載後去執行我的方法,故我推薦使用setTimeout();
小結:
關於終端設備的判斷,上面的程式碼很膚淺的做了很尷尬的url 跳轉,這是不得已的方法。若是伺服器端根據客戶端的請求頭資訊來判斷設備特性,依此回傳不同的資源是更好的選擇。
相關推薦:
javascript - 使用php取得一個透過JS跳轉的最終網址
IE中JS跳轉遺失referrer問題的2個解決方法_javascript技巧
以上是JS跳轉手機站url的若干注意事項實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!