Javascript判斷手機瀏覽器執行個體代碼

來源:互聯網
上載者:User


最近準備做一個手機端的網站。所以在網上找了幾個判斷是否是手機瀏覽器的js指令碼,貼上來,分享下:


1.如何判斷是否為移動終端 利用正則match,

匹配navigator.userAgent是否含有字串AppleWebKit*****Mobile

安卓qq瀏覽器HD版 只有AppleWebKit

2手機語言版本的判斷

使用navigator.browserLanguage 便可得出windows phone語言版本,
當然可惡的小小手機語言版本也有相容性的差異,相容Mozilla,以及AppleWebKit核心的瀏覽器訪問其語言版本,它會列出 navigator.language

第一種、直接JS指令碼:

 代碼如下 複製代碼

try {
    var urlhash = window.location.hash;
    if (!urlhash.match("fromapp")) {
        if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i))) {
            window.location = "http://www.111cn.net(更換成自己的WAP網站)";
        }
    }
} catch(err) {}

第二種、引用(稍微長點):

 代碼如下 複製代碼

function uaredirect(murl) {
    try {
        if (document.getElementById("bdmark") != null) {
            return;
        }
        var urlhash = window.location.hash;
        if (!urlhash.match("fromapp")) {
            if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i))) {
                location.replace(murl);
            }
        }
    } catch(err) {}
}

第二種方式,頁面調用:


上述的指令碼保持到wap.js檔案,然後在需要調用的頁面引用下面2個JS調用檔案。

 代碼如下 複製代碼

<script src="wap.js" type="text/javascript"></script>
<script type="text/javascript">uaredirect("http://www.111cn.net(更換成自己的WAP網站)");</script>


參照 thinkphp 官網上的 php 代碼修改的:

 代碼如下 複製代碼

<script type="text/javascript">
var ua = navigator.userAgent,
    mobileAgents = ["240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi","android","anywhereyougo.com","applewebkit/525",

"applewebkit/532","asus","audio","au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu","cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ","fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi","htc","huawei","hutchison",

"inno","ipad","ipaq","ipod","jbrowser","kddi","kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo","mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-","moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia","nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-","playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo","samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank","sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit","tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin","vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce","wireless","xda","xde","zte"];
for(var i = 0; i < mobileAgents.length; i++) {
    if(ua.toLowerCase().indexOf(mobileAgents[i]) > -1) {
        window.location.href = 'http://www.111cn.net';
        break;
    }
}
</script>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.