欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS跳轉(zhuǎn)手機(jī)站url的若干注意事項(xiàng)

 更新時(shí)間:2017年10月18日 09:46:14   投稿:mrr  
去年年底開發(fā)了一個(gè)手機(jī)站平臺(tái),遇到了很多坎,今天小編給大家分享下使用JS跳轉(zhuǎn)手機(jī)站url的若干注意事項(xiàng),需要的朋友參考下吧

引子:

去年年底公司開發(fā)手機(jī)站平臺(tái),經(jīng)歷了前期的用戶群、市場調(diào)查,產(chǎn)品需求分析,產(chǎn)品原型設(shè)計(jì),ui前端到程序開發(fā)上線測試等等工作,終于上線。。。此處略去本人作為前端開發(fā)的心情。

應(yīng)該說,我們的手機(jī)站平臺(tái)還是個(gè)頑皮小孩子,還有許多需要去學(xué)習(xí),去磨練。

我們手機(jī)站平臺(tái)的設(shè)計(jì)初衷是對(duì)接我們已有的PC站平臺(tái),簡單說就是原來我們所有的用戶使用的是我們的PC站服務(wù),現(xiàn)在可以得到一個(gè)網(wǎng)站數(shù)據(jù)與PC站 一樣的手機(jī)站點(diǎn)。重點(diǎn)是老用戶還不收錢,免費(fèi)用。(PC端網(wǎng)站的客戶 想想是不是有點(diǎn)兒小激動(dòng)呢)上線一段時(shí)間,感覺很多客戶還是蠻感興趣的,都在自己的手機(jī)上安裝了這個(gè)那個(gè)的二維碼掃面軟件,對(duì)著手機(jī)網(wǎng)站的二維碼掃啊掃的。

話入正題:

廢話不多說,很多客戶慕名而來,原來不是我們做PC的客戶買了我們的手機(jī)站服務(wù),這就產(chǎn)生了從其PC站如何能夠跳轉(zhuǎn)到手機(jī)站的問題。

我想,通過javascript獲取客戶端的 navigator.userAgent 之后使用url跳轉(zhuǎn) 是一個(gè)不錯(cuò)的方法。

走你-代碼:

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

簡單分析:

一、在那些設(shè)備上需要跳轉(zhuǎn)URL?

在XP,win7和mac下,一般不做手機(jī)站跳轉(zhuǎn)的。

市面上的 Android 、BlackBerry 、iOS 、Windows mobile(phone) 、Linux等系統(tǒng),為大家所常用的手機(jī)端操作系統(tǒng)?;鸷膚ebOS,“遠(yuǎn)古時(shí)代”的諾基亞塞班等等,在國內(nèi)外好像好沒有市場了,不要去考慮。

二、在頁面跳轉(zhuǎn)時(shí),存在哪些問題?

1.原PC網(wǎng)站需要加載的資源可能很多,跳轉(zhuǎn)URL之前PC站的頁面可能已經(jīng)呈現(xiàn),跳轉(zhuǎn)的效果太生硬

  解答:js獲取終端的特性后,立即將body設(shè)置為隱藏

2.使用 window.onload 還是 setTimeout?

  解答:setTimeout是由我選擇何時(shí)執(zhí)行,而可惡的 window.onload需要我等所有的資源下載后去執(zhí)行我的方法,故我推薦使用 setTimeout();

小結(jié):

關(guān)于終端設(shè)備的判斷,上面的代碼很膚淺的做了很尷尬的 url 跳轉(zhuǎn),這是不得已的方法。若是服務(wù)器端根據(jù)客戶端的請求頭信息來判斷設(shè)備特性,依此返回不同的資源是更好的選擇。

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

相關(guān)文章

  • 淺談頁面裝載js及性能分析方法

    淺談頁面裝載js及性能分析方法

    這篇文章主要簡單介紹了頁面裝載js及性能分析方法的相關(guān)資料,需要的朋友可以參考下
    2014-12-12
  • JavaScript獲取字符串實(shí)際長度(包含中英文)

    JavaScript獲取字符串實(shí)際長度(包含中英文)

    這篇文章介紹了JavaScript獲取字符串實(shí)際長度(包含中英文)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • JavaScript中常見的幾種繼承方式

    JavaScript中常見的幾種繼承方式

    這篇文章主要介紹了JavaScript中常見的幾種繼承方式,繼承可以訪問父類原型上的方法或?qū)傩?,?shí)現(xiàn)了方法復(fù)用,但是創(chuàng)建子類實(shí)例時(shí),不能傳父類的參數(shù),子類實(shí)例共享了父類構(gòu)造函數(shù)的屬性值
    2022-06-06
  • javascript中獲取class的簡單實(shí)現(xiàn)

    javascript中獲取class的簡單實(shí)現(xiàn)

    下面小編就為大家?guī)硪黄猨avascript中獲取class的簡單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • 詳解js 創(chuàng)建對(duì)象的幾種方法

    詳解js 創(chuàng)建對(duì)象的幾種方法

    這篇文章主要介紹了js 創(chuàng)建對(duì)象的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • bootstrap table使用入門基本用法

    bootstrap table使用入門基本用法

    這篇文章主要為大家詳細(xì)介紹了bootstrap table使用入門基本用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • js實(shí)現(xiàn)點(diǎn)擊圖片改變頁面背景圖的方法

    js實(shí)現(xiàn)點(diǎn)擊圖片改變頁面背景圖的方法

    這篇文章主要介紹了js實(shí)現(xiàn)點(diǎn)擊圖片改變頁面背景圖的方法,實(shí)例分析了javascript操作css與圖片的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • js轉(zhuǎn)化毫秒為時(shí)間格式代碼

    js轉(zhuǎn)化毫秒為時(shí)間格式代碼

    這篇文章主要介紹了使用js轉(zhuǎn)化毫秒為時(shí)間格式的具體實(shí)現(xiàn),需要的朋友可以參考下
    2014-04-04
  • JavaScript bind函數(shù)手寫教程

    JavaScript bind函數(shù)手寫教程

    bind()方法主要就是將函數(shù)綁定到某個(gè)對(duì)象,bind()會(huì)創(chuàng)建一個(gè)函數(shù),函數(shù)體內(nèi)的this對(duì)象的值會(huì)被綁定到傳入bind()第一個(gè)參數(shù)的值,當(dāng)然這是綁定哦,不是像call、apply一樣直接執(zhí)行,apply要執(zhí)行的話還得自己調(diào)用
    2022-12-12
  • JavaScript中數(shù)據(jù)過濾的幾種常見方法

    JavaScript中數(shù)據(jù)過濾的幾種常見方法

    JavaScript是一種廣泛使用的編程語言,它提供了多種方法來對(duì)數(shù)據(jù)進(jìn)行過濾,在本文中,我們將介紹JavaScript中常見的幾種數(shù)據(jù)過濾方法,并提供相應(yīng)的示例,感興趣的朋友跟隨小編一起看看吧
    2023-10-10

最新評(píng)論