一般来说,移动适配主要通过底层的web技术开发手段来完成,下面马海祥将通过移动适配技术的角度来告诉你通过7个步骤来完成一个PC网站向移动设备的跳跃!
1、允许网页宽度自动调整
“自适应网页设计”到底是怎么做到的?其实并不难。
首先,在网页代码的头部,加入一行viewport元标签,viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。
所有主流浏览器都支持这个设置,包括IE9,对于那些老式浏览器(主要是IE6、7、8),需要使用css3-mediaqueries.js。
2、不使用绝对宽度
由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素,这一条非常重要。
具体说,CSS代码不能指定像素宽度:width:xxxpx
只能指定百分比宽度:width:xx%或者width:auto
3、相对大小的字体
字体也不能使用绝对大小(px),而只能使用相对大小(em)。
body{
font:normal100%Helvetica,Arial,sans-serif
}
上面的代码指定,字体大小是页面默认大小的100%,即16像素。
h1{
font-size:1.5em
}
然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。
small{
font-size:0.875em
}
small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。
4、流动布局(fluidgrid)
“流动布局”的含义是,各个区块的位置都是浮动的,不是固定不变的。
.main{
float:right
width:70%
}
.leftBar{
float:left
width:25%
}
float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。
另外,绝对定位(position:absolute)的使用,也要非常小心。
5、选择加载CSS
“自适应网页设计”的核心就是CSS3引入的MediaQuery模块,它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。
media=”screenand(max-device-width:400px)”
href=”tinyScreen.css”/>
上面的代码意思是,如果屏幕宽度小于400像素(max-device-width:400px),就加载tinyScreen.css文件。
media=”screenand(min-width:400px)and(max-device-width:600px)”
href=”smallScreen.css”/>
如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。
除了用html标签加载CSS文件,还可以在现有CSS文件中加载。
6、CSS的@media规则
同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
@mediascreenand(max-device-width:400px){
.column{
float:none
width:auto
}
#sidebar{
display:none
}
}
上面的代码意思是,如果屏幕宽度小于400像素,则column块取消浮动(float:none)、宽度自动调节(width:auto),sidebar块不显示(display:none)。
7、图片的自适应(fluidimage)
除了布局和文本,自适应网页设计还必须实现图片的自动缩放。
这只要一行CSS代码:
img{max-width:100%}
这行代码对于大多数嵌入网页的视频也有效,所以可以写成:
img,object{max-width:100%}
老版本的IE不支持max-width,所以只好写成:
img{width:100%}
此外,windows平台缩放图片时,可能出现图像失真现象。这时,可以尝试使用IE的专有命令:
img{-ms-interpolation-mode:bicubic}
或者,EthanMarcotte的imgSizer.js。
addLoadEvent(function(){
varimgs=document.getElementById(“content”).getElementsByTagName(“img”)
imgSizer.collate(imgs)
})
最好还是做适配分辨率的图片,有很多方法可以做到同样效果,服务器端和客户端都可以实现(具体可查看马海祥博客《根据访问设备自动识别展示手机站或PC站的方法》的相关介绍)。
二、适配最常见的操作方法
据马海祥观察,PC站和手机站匹配最常用的几种方法是移动适配、JS跳转、Meta声明、302规则等等,由于每种方法的操作方式不同,产生的效果也不同,具体的优缺点也需要区别对待,在此,马海祥就给大家比较一下这4种适配方法的优缺点以及需要注意的地方:
1、移动适配
现在很多搜索引擎都提供移动适配的功能,例如百度的开放适配和360的移动适配,利用百度站长工具提交PC页-手机页对应关系Sitemap,或者利用360站长工具提交PC页-手机页对应关系txt就能实现PC站内容和手机站一一适配。
这样做的优点是只需要在搜索引擎工具提交资料,无需对站点本事做改动,而且网站内容一一对应,并不只局限于网站首页。
缺点就是只能在百度或者360移动搜索中生效,其他没用提交适配文件的搜索中就无效了。
2、JS跳转
JS跳转对于某些行业来说有着重要的作用,尤其是对于用户转换率网站首页较高的网站,只需要在网站的头部加一段JS代码判定是否是移动端访问,然后所有的流量就会全部流向手机站的主页。
JS跳转的优点是适用于所以的移动搜索,并不局限于百度和360,可以提高用户的转换率。
缺点是难以实现每个页面的一一对应,而且容易被某些搜索引擎判定作弊,从而受到惩罚。
3、Meta声明
Meta声明的格式一般为,站长可以将这段代码加在PC站的头部,由Meta信息来指明该PC页对应的手机页的URL,以及该URL对应页面的格式。
Meta声明的优点是代码简单易懂,操作方便。
缺点是只能在百度移动搜索中生效,对于其他搜索引擎无效(另外,还可以使用百度转码,具体可查看马海祥博客《百度转码后的手机网站页面是否有利于SEO优化》的相关介绍)。
4、302规则
302规则指的是,当判定移动端访问网站时,302临时跳转到一个网址(手机站),例如可以在htaccess文件里加上一段判定手机的代码,做个302重定向。
这样做的好处是,不需要再额外在网站的前端代码中加任何东西,也不需要向搜索引擎提交规则,可是据测试,有可能会导致PC站被降权。
虽然302是暂时性的重定向,但过于频繁的302是很有可能给网站带来不利的影响的,具体的尺度需要站长自己去把握。
以上4种适配方法是接触的最为常见的操作方法,通常PC站做了以上处理后,一段时间以后移动端搜索出来的结果,下面匹配的网址就变成了移动站网址,不过标题还是PC站标题。
至于到底哪种方法更好,更倾向于第一种,毕竟百度移动搜索占据着网站的大部分流量,而且用户体验度也最好。
样建立自己的WAP手机网站WAP(Wireless Application Protocol)无线应用协议是一个开放式标准协议,利用它可以把网络上的信息传送到移动电话或其他无线通讯终端上。它是由爱立信、诺基亚、摩托罗拉等通信业巨头在1997年成立的无线应用协议论坛(WAP Forum)中所制定的。它使用一种类似于HTML的标记式语言WML,相当于国际互联网上的HTML(超文件标记语言)并可通过WAP Gateway直接访问特定的网页。
WAP能够运行于各种无线网络之上,如中国移动的GPRS、中国联通的CDMA1X等,即将开通的3G。打个比喻,GPRS和GSM都是马路,而WAP是在马路上的汽车,汽车上运输的货物,就是WAP上的网站内容了。
通过WAP这种技术,就可以将各类网站、企业的大量信息及各种各样的业务引入到移动电话、PALM等无线终端之中。无论何时何地只要需要信息,打开WAP手机,用户就可以享受各类信息资源。如:网站信息、企业新闻、产品展示、商业报道、股市动态、当前汇率等,甚至手机购物。
目前,中国的WAP手机用户有3000万,其中移动WAP用户有2000多万,联通WAP用户近1000
万。用户不少吧,呵呵,因为周围好多人都玩手机上网了啊。好了,这些都不说了。
现在大家都是上移动梦网的WAP网站以及其他一些WAP站点,那么为什么不自己建立WAP网站,让所有的WAP用户来访问你的WAP网站呢?
开发WAP网站问答
1. 开发WAP软件需要哪些工具?
为了开发WAP应用程序,需要一个WAP网关(注意:这里的网关可能是指支持WML的服务器。可以通过配置WWW服务器达到这个目的)和WAP工具包。工具包应当包括模拟器和能让开发者浏览WML网页。WML页面的开发和HTML页面的开发一样,可以使用Notepad或者其他文本编辑器来进行编辑。
2. 有哪些公司现在提供这样的开发环境?
Nokia、Ericsson、UpPhone和Motorola都提供免费的WAP网关和工具包。
Nokia:Nokia Toolkit和Nokia WAP Server。
Ericsson:Ericsson R320和WapIDE。
UpPhone:UpPhone SDK。
Motorola:Motorola ADK。
3. 一个完整的wap开发测试环境
软件包:
系统 : Redhat 9
JDK :j2sdk-1_4_2_04-linux-i586.bin
Tomcat: jakarta-tomcat-5.0.25.tar.gz
Mysql: Redhat 9自带
Oracle: oracle 9i release 2
xml解析器:libxml2-2.6.10.tar.gz
kannel网关:gateway-1.3.2.tar.gz
模拟终端:
NOKIA mobile internet tookit ( NMIT 4.1)
NOKIA 7210 content Authoring SDK
MOTOROLA Browser ADK (v2.2 T725等)
4. 开发者需要一个WAP网关吗?
不是很必要。如果只想进行简单的WAP内容服务,可以使用现有的Web服务器(只需要修改MIME类型)。移动电话会通过坐落在本地的网关连接到你的服务器上。
但是在网关上驻留开发者的程序有很多好处。既然开发者的程序是网关的一个部分,开发者就可以知道呼叫号码、身份、位置等等。
5. 如何下手书写WAP应用程序?
其实需要的只是Text编辑器。但是使用一个开发工具可以节约很多时间。
在这之前应该浏览一下WAP的权威站点:。
在Nokia WAP 开发论坛中进行注册,并且下载Nokia WAP Developer Toolkit 。Toolkit中的PDF文件可以给出一定的WML和WMLScript指导。Nokia Toolkit需要JRE (Java Runtime Environment) v.1.2.2 或者更高版本。
虽然工具可以用来为WAP设备设计应用,但是不是为专门的移动电话。在WAP开发工具上所看到的并不代表用户在手机上所看到的。为了确定想看到的事情,最好需要一个WAP设备,例如移动电话,或者模拟器。
Nokia WAP SDK 2有一个7110的模拟器。模拟器是一个有效的检测方式,能检测程序中的bug。 Nokia SDK 同样还包括一个小的WAP server让开发者可以从本地或者HTTP服务器上下载WML页面。
到 Phone.com 开发站点注册后,Phone.com 提供UP.browser。这是最流行的浏览器,特别是在美国,Phone.com 提供UP.SDK。 在注册之后就可以下载。
对于Ericsson R320 和 R380是最近的事情。应该注册并查看Ericsson's Developer's Zone 来得到开发工具。R380是一个非常好的模拟器,在 Symbian 不需要注册就可以下载。Ericsson 没有公开的为R320的模拟器。
Motorola 有一个平台叫做 Mobile Internet eXchange 或者 MIX 。Mobile Application Development Kit 已经开发出一个开发平台,即为WAP也为Motorola的 VoxML。在注册后,可以在下面的网址找到数据包。
WAPmine 是一个独立的应用,叫做 WAPPage 是一个所见即所得的编辑工具。而且有一个XML树型控件来编辑WML标签。
如果在开发公共应用程序时,想在很多设备上测试你的程序,就像在不同的浏览器上测试HTML页面一样。注意在不同的WML浏览器上的差别,可能比在不同的HTML浏览器上的差别要大。
6. WAP开发好复杂,有没有简单的WAP网站开发软件?
是的,WAP的应用开发是比较专业的,有些复杂。
那么有没有操作简单,轻松生成和管理自己的WAP网站的软件呢?有!这个软件叫WAPmo无线网站平台系统,主要功能是自动创建WAP网站和进行内容管理,而无须编程,功能很强大,操作简单,鼠标点击即可了。下载地址是。
不过这个软件需要有域名和空间支持,也就是你要有WWW域名和空间,如果你的WWW域名
是,那么这个软件就给你生成wap.abcd.com的WAP网站,如果你在你的WAP手机上输入这个地址,就可以看到自己的WAP网站了,所有的WAP手机用户只要输入这个地址就都可以看到,很爽吧!
你可以在WAP上建立各种各样的网站,比如图片下载,手机小说,企业网站等等
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)