手机网站开发的一些总结

news/2024/5/14 19:51:55/文章来源:https://blog.csdn.net/yangyifan0/article/details/24087417
手机版网站起码要实现一些基本的功能吧:
1.页面的适用性问题。对于移动终端,有不一样的分辨率与屏幕尺寸,如果还像电脑端的设计还限制网页的宽度为1003px或其他像素值,字体大小还用12px或14px,那么,不一样的终端的效果差别会很大。所以这里,最好让网页的宽度自适应屏幕,还好,w3c在设计html的时候为我们考虑了这一点,只需一句话,就可以搞定,就是加上
Javascript代码  收藏代码
  1. <meta name="viewport" content="width=device-width"/> 

    在网页中加入以下代码,就可以正常显示了:

    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"/>

    解释:

    width – viewport的宽度
    height – viewport的高度
    initial-scale – 初始的缩放比例
    minimum-scale – 允许用户缩放到的最小比例
    maximum-scale – 允许用户缩放到的最大比例
    user-scalable – 用户是否可以手动缩放 

    精简点的话,可以把上面的代码更改为以下代码,效果是一样的:

     <meta content="width=device-width,user-scalable=no" name="viewport">
,对于字体的话,我们就用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的支持,代码如下
Javascript代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">  
  3. <html xmlns="http://www.w3.org/1999/xhtml">  
  4. <head>  
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  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.浏览器缓存。如果再更新不快的情况下,最好开启浏览器缓存

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_852123.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Nokia 6120c 】【Symbian S60 3rd】【实用软件】【官方网站】【2008.03.02更新】

1、查看cpu的软件&#xff1a;JBenchmark ACE&#xff0c;需要将测试信息上传才能显示cpu等结果http://www.jbenchmark.com/download.jsp?benchmarkacehttp://wap.jbenchmark.com/ace/ACE.jar 2、AVI影片播放软件&#xff1a;智能影院 SmartMoviehttp://www.lonelycatgames.co…

关于hadoop配置完成后无法通过主机名:50070访问web网站的解决方法

一、通过jps查看datanode、nodename是否部署成功 二、排查是否是防火墙的问题 三、查看本地Windows下的C:\Windows\System32\drivers\etc目录中的hosts文件&#xff0c;打开host文件将写入主机名和对应的ip地址 如: 接着修改liunx系统下hosts,写入ip地址以及对应的主机名 v…

ASP.NET 网站部署 Part.1(安装IIS、复制文件部署网站)

所有网站部署的基本前提都是一致的&#xff0c;在开发工作站有已经完成的网站&#xff0c;需要把它部署到某台服务器上以让客户能够访问。对于 ASP.NET&#xff0c;这里的场景是 IIS&#xff08;Internet Information Services&#xff0c;因特网信息服务&#xff09;。 IIS 当…

ASP.NET 网站部署 Part.2(使用 Web 部署)

Web 部署可以在 VS2010 里直接使用 HTTP 部署网站&#xff08;此方式不可以在无项目文件的网站使用&#xff09;。不要把 Web 部署和 FPSE&#xff08;Front Page Server Extensions&#xff09;混淆&#xff0c;FPSE 已经过时。 1. 准备 IIS 需要添加两个额外的组件。再次打开…

ASP.NET 网站部署 Part.3(使用 FTP 部署)

FTP 部署通过 FTP&#xff08;文件传输协议&#xff09;把项目部署到服务器。FTP 部署的优点是受到众多平台的支持&#xff0c;缺点在于相比 Web 部署可能会遇到更多的防火墙问题。 1. 准备 IIS 还是借助 Web 平台安装器&#xff0c;启动 WebPI&#xff0c;选择 “FTP 发布服务…

ASP.NET 管理网站(应用程序池、应用程序预热、扩展集成管道)

应用程序池可以对相似或相关的应用程序分组&#xff0c;简化配置和管理。同样地&#xff0c;被分配到不同应用程序池的应用程序相互独立&#xff0c;这样&#xff0c;某个应用程序池中的问题不会影响到其他应用程序池中的应用。 没有把应用程序分配到应用程序池的硬性或快速规则…

ASP.NET 管理网站(虚拟目录)

部署了网站之后&#xff0c;就可以通过 IIS 的功能来管理网站宿主和执行的方式。 创建新站点 IIS 7 能够在单台服务器上支持多个站点。要创建新站点&#xff0c;展开 IIS 管理器的树控件&#xff0c;右击“网站”&#xff0c;选择“添加网站”&#xff0c;会显示如下对话框&…

ASP.NET 网站部署 Part.1(安装IIS、复制文件部署网站)

所有网站部署的基本前提都是一致的&#xff0c;在开发工作站有已经完成的网站&#xff0c;需要把它部署到某台服务器上以让客户能够访问。对于 ASP.NET&#xff0c;这里的场景是 IIS&#xff08;Internet Information Services&#xff0c;因特网信息服务&#xff09;。 IIS 当…

ASP.NET 网站部署 Part.2(使用 Web 部署)

Web 部署可以在 VS2010 里直接使用 HTTP 部署网站&#xff08;此方式不可以在无项目文件的网站使用&#xff09;。不要把 Web 部署和 FPSE&#xff08;Front Page Server Extensions&#xff09;混淆&#xff0c;FPSE 已经过时。 1. 准备 IIS 需要添加两个额外的组件。再次打开…

ASP.NET 网站部署 Part.3(使用 FTP 部署)

FTP 部署通过 FTP&#xff08;文件传输协议&#xff09;把项目部署到服务器。FTP 部署的优点是受到众多平台的支持&#xff0c;缺点在于相比 Web 部署可能会遇到更多的防火墙问题。 1. 准备 IIS 还是借助 Web 平台安装器&#xff0c;启动 WebPI&#xff0c;选择 “FTP 发布服务…

ASP.NET 管理网站(应用程序池、应用程序预热、扩展集成管道)

应用程序池可以对相似或相关的应用程序分组&#xff0c;简化配置和管理。同样地&#xff0c;被分配到不同应用程序池的应用程序相互独立&#xff0c;这样&#xff0c;某个应用程序池中的问题不会影响到其他应用程序池中的应用。 没有把应用程序分配到应用程序池的硬性或快速规则…

ASP.NET 管理网站(虚拟目录)

部署了网站之后&#xff0c;就可以通过 IIS 的功能来管理网站宿主和执行的方式。 创建新站点 IIS 7 能够在单台服务器上支持多个站点。要创建新站点&#xff0c;展开 IIS 管理器的树控件&#xff0c;右击“网站”&#xff0c;选择“添加网站”&#xff0c;会显示如下对话框&…

iis配置多个网站,iis绑定多个域名

iis配置多个网站,iis绑定多个域名?这个问题,现在大多数不会整VPS的朋友,都会去帮手来解决,其实,没有必要拉,小伙伴;下面我来分享一个简单的操作; 如图示&#xff1a; 可以看到&#xff0c;上面挂了两个网站&#xff0c;并且端口都是80&#xff0c;那么这个功能是如何实现的呢&…

网站重构的8点建议

1.用局部变量替换多次使用的对象 比如我们在一段代码内&#xff0c;多次使用document、window这样的对象&#xff0c;我们可以用局部变量替换他们。 var d document,w window; 原理&#xff1a;访问直接量和局部变量的速度快&#xff0c;相反&#xff0c;访问数组元素和对…

大气 html5 企业网站,高端大气HTML5科技企业网站响应式网站带后端

页面简洁简单&#xff0c;容易管理&#xff0c;DEDE内核都能使消耗&#xff1b;附带测试数据&#xff01;模板主要适消耗于&#xff0c;企业网站展现网站等。模板特点&#xff1a;1&#xff0c;模板包括首页、列表页、企业简介、以及内容页等页面&#xff0c;代码书写规范&…

浅谈Web网站架构演变过程

原文地址&#xff1a;http://www.codeceo.com/article/web-artche-changes.html#0-tsina-1-84073-397232819ff9a47a7b7e80a40613cfe1 前言 我们以javaweb为例&#xff0c;来搭建一个简单的电商系统&#xff0c;看看这个系统可以如何一步步演变。 该系统具备的功能&#xff1a; …

网站架构系列:消息队列

原文地址&#xff1a;http://www.codeceo.com/article/web-archte-message-queue.html#0-tsina-1-26189-397232819ff9a47a7b7e80a40613cfe1 一、消息队列概述 消息队列中间件是分布式系统中重要的组件&#xff0c;主要解决应用耦合&#xff0c;异步消息&#xff0c;流量削锋等问…

让网站永久拥有HTTPS - 申请免费SSL证书并自动续期

本文永久地址为什么要用HTTPS相关简介 Let’s EncryptCertbot便宜SSL 获取HTTPS证书 命令行 安装Certbot申请证书 图形化 部署HTTPS证书设置HTTP强制跳转HTTPS命令行下设置证书自动续期附&#xff1a; 其它环境下的证书部署Nginx相关命令crontab相关命令 参考文档 本文永久地址…

分享10个超棒的设计素材网站

对于设计师来说&#xff0c;在工作中遇到的最糟糕的情况&#xff0c;莫过于灵感枯竭。而解决这个问题最好的方式&#xff0c;就是多逛设计素材网站。通过这种方式&#xff0c;不仅可以欣赏其他设计师们的作品&#xff0c;让自己脑洞大开&#xff0c;而且还能收获丰富的资源&…

【首篇】我想谈谈大型网站架构

如果能够学到架构理论&#xff0c;是一件很幸福的事&#xff0c;而要是能够从0到1搭建一个完整的大型网站&#xff0c;并且&#xff0c;将其投入到生活当中&#xff0c;还能被大多数人所使用&#xff0c;则是一件很幸运的事了。 这系列博客不谈业务&#xff0c;只谈技术&#…