国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JS跳轉手機站url的若干注意事項

2024-05-06 16:40:22
字體:
來源:轉載
供稿:網友

引子:

去年年底公司開發手機站平臺,經歷了前期的用戶群、市場調查,產品需求分析,產品原型設計,ui前端到程序開發上線測試等等工作,終于上線。。。此處略去本人作為前端開發的心情。

應該說,我們的手機站平臺還是個頑皮小孩子,還有許多需要去學習,去磨練。

我們手機站平臺的設計初衷是對接我們已有的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.vevb.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 跳轉,這是不得已的方法。若是服務器端根據客戶端的請求頭信息來判斷設備特性,依此返回不同的資源是更好的選擇。

隨著移動端設備的發展,很多瀏覽器能夠設置或者自定義修改 客戶端的請求頭信息,也是這段js可能面臨的問題,有待更新吶!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九寨沟县| 商南县| 个旧市| 抚松县| 罗田县| 安平县| 礼泉县| 隆子县| 蒙城县| 荃湾区| 房山区| 荔波县| 绥中县| 正阳县| 株洲县| 内江市| 安岳县| 江口县| 盐边县| 阿勒泰市| 竹北市| 瓦房店市| 启东市| 水富县| 广元市| 宁乡县| 申扎县| 双柏县| 宣化县| 松江区| 丰城市| 雅江县| 商河县| 新平| 洛川县| 道真| 合作市| 华容县| 乌兰浩特市| 桐柏县| 泰来县|