手機版網站起碼要實現一些基本的功能

手機版網站起碼要實現一些基本的功能吧:
1.頁面的適用性問題。對於移動終端,有不同的分辨率與屏幕尺寸,若是還像電腦端的設計還限制網頁的寬度爲1003px或其餘像素值,字體大小 還用12px或14px,那麼,不同的終端的效果差異會很大。因此這裏,最好讓網頁的寬度自適應屏幕,還好,w3c在設計html的時候爲咱們考慮了這 一點,只需一句話,就能夠搞定,就是加上javascript

Javascript代碼  收藏代碼php

  1. <meta name="viewport" content="width=device-width"/>  css

,對於字體的話,咱們就用em或ex爲單位就好
2.版本製做問題。移動頁面每每針對不一樣的手機設置不一樣的版本,通常有精簡版,標準版,3G版,觸屏版,智能手機版等等,這些除了在頁面設計上有 不一樣外,頁面語言也會不一樣的。精簡版採用wap 1.0 的wml腳本編寫,這個通用性之前很強,不少國產手機都支持這個語言的,但這個語言是很精簡的。標準版的通常能夠採用wap 2.0技術,對應的腳本語言是xhtml mp(xhtml mobile profile),這個語言是xhtml的子集,這個而且支持大部分的css,基本上和電腦版的差很少,但通常不能用js,這是考慮到這些手機是不支持 js的。對於智能手機版,因爲如今的智能手機都支持js,這個版本的製做上就簡單多了,不過,又因爲大部分智能手機(基本上除去塞班手機,包括 Android,ios,wp7等)都支持Html5,所以,智能手版能夠採用html5來製做。
3.版本控制問題。可能這部分是比較很差解決的,怎麼智能判斷手機的最佳版本並跳轉,能夠從這幾個方面考慮。一方面,能夠想辦法獲得手機的操做系 統,好比,Android的,ios的,就能夠跳轉到html5版了,windows系統,毫無疑問電腦版,得到手機系統,可能經過獲得手機型號,如今的 方法是經過瀏覽器的UA(user agent),得到手機的一些信息,簡單一點的,直接能夠經過UA判斷手機的製造產商。要想得到更多的信息,就得有一個數據庫,由於不一樣手機型號會有不一 樣的UA信息,世界上的手機有不少,本身要想作一個這樣的數據庫仍是很難的,不過,已經有人爲咱們作好了這樣的數據庫,或者更方便的,作好了一個識別手機 適用最佳版本的函數庫,這裏我推薦用Wurfl。另外一方面,能夠經過頁面的腳原本判斷瀏覽器對js和html5的支持,代碼以下
html

Javascript代碼  收藏代碼html5

  1. <?xml version="1.0" encoding="UTF-8"?>  java

  2. <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">  android

  3. <html xmlns="http://www.w3.org/1999/xhtml">  ios

  4. <head>  web

  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  chrome

  6. <meta name="viewport" content="width=device-width"/>  

  7. <title>版本控制</title>  

  8. <script type="text/javascript">  

  9. window.onload = function(){  

  10.   //檢測是否支持js  

  11.   try{//檢測是否支持html5  

  12.     document.getElementById("c").getContext("2d");  

  13.     document.location = '支持html5版的連接';  

  14.   }catch(e){//不然跳到支持js版  

  15.     document.location = '支持js版';  

  16.   }  

  17. };  

  18. </script>  

  19. </head>  

  20.   

  21. <body>  

  22. <canvas id='c'></canvas>  

  23. 普通版  

  24. </body>  

  25. </html>  


若是你僅僅想開發一個版本,只是判斷一下是否是移動客戶端,這裏引用一段discuz! x2的代碼

Php代碼  收藏代碼

  1. <?php  

  2. function checkmobile() {  

  3.     global $_G;  

  4.     $mobile = array();  

  5.     static $mobilebrowser_list =array('iphone''android''phone''mobile''wap''netfront''java''opera mobi''opera mini',  

  6.                 'ucweb''windows ce''symbian''series''webos''sony''blackberry''dopod''nokia''samsung',  

  7.                 'palmsource''xda''pieplus''meizu''midp''cldc''motorola''foma''docomo''up.browser',  

  8.                 'up.link''blazer''helio''hosin''huawei''novarra''coolpad''webos''techfaith''palmsource',  

  9.                 'alcatel''amoi''ktouch''nexian''ericsson''philips''sagem''wellcom''bunjalloo''maui''smartphone',  

  10.                 'iemobile''spice''bird''zte-''longcos''pantech''gionee''portalmmm''jig browser''hiptop',  

  11.                 'benq''haier''^lct''320x320''240x320''176x220');  

  12.     $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);  

  13.     if(($v = dstrpos($useragent$mobilebrowser_list, true))) {  

  14.         $_G['mobile'] = $v;  

  15.         return true;  

  16.     }  

  17.     $brower = array('mozilla''chrome''safari''opera''m3gate''winwap''openwave''myop');  

  18.     if(dstrpos($useragent$brower)) return false;  

  19.   

  20.     $_G['mobile'] = 'unknown';  

  21.     if($_GET['mobile'] === 'yes') {  

  22.         return true;  

  23.     } else {  

  24.         return false;  

  25.     }  

  26. }  

  27.   

  28. function dstrpos($string, &$arr$returnvalue = false) {  

  29.     if(emptyempty($string)) return false;  

  30.     foreach((array)$arr as $v) {  

  31.         if(strpos($string$v) !== false) {  

  32.             $return = $returnvalue ? $v : true;  

  33.             return $return;  

  34.         }  

  35.     }  

  36.     return false;  

  37. }  

  38. var_dump(checkmobile());//若是是移動端返回true,不然false  

4.手機版本的大小問題。通常來講,對於精簡版和普通版的手機網頁,咱們是作得越精簡越好,能省的代碼最好省去,畢竟如今手機流量對用戶來講仍是 很寶貴的。好比元素命名,通常頁面少的話,命名越短越好,css最好寫在一行。css中,有些元素是繼承父類的樣式的,不用重複定義,善用默認值。5.瀏覽器緩存。若是再更新不快的狀況下,最好開啓瀏覽器緩存

相關文章
相關標籤/搜索