我正在设计一个移动网站,基本上我想要两个版本。一个将是JavaScript和CSS密集型,而另一个将用于较旧的手机。非常简单的xhtml。确定手机浏览器是否支持CSS和JavaScript功能
根据浏览器的功能,自动重定向的方法有哪些?
我正在设计一个移动网站,基本上我想要两个版本。一个将是JavaScript和CSS密集型,而另一个将用于较旧的手机。非常简单的xhtml。确定手机浏览器是否支持CSS和JavaScript功能
根据浏览器的功能,自动重定向的方法有哪些?
如果构建正确,那么相同的XHTML站点应该支持这两个版本。
这么说,我看到几个可能性:
下载具有元刷新设置为1秒简短的HTML文件,它也会有JavaScript的在它。如果JavaScript启动,它会立即更改元刷新的URL。
这是一个穷人曼妙的退化概念,因为老的手机会有较慢的连接,所以下载网络应用程序两次是一个糟糕的设计。
理想情况下,您应该让他们下载非js版本,但其中包含脚本标记,因此它还会下载至少一个JavaScript文件,并且会使用不显眼的javascript更改原始页面。
但是,由于我预计这将是一个糟糕的设计,这就是为什么我建议元刷新,下载之间有一个非常微小的停顿,以给JavaScript的时间来解决它。
您还可以通过检查某些对象(如<canvas>
)的存在以及基于对正确url的更改来检查哪个版本的javascript。
看看UAProf“一个有关无线设备捕获能力和偏好信息的规范,内容提供商可以使用该信息为特定设备生成适当格式的内容。 (引自维基百科页面)
另外有趣的是WURFL,这是一个开源的“XML配置文件,其中包含许多移动设备的功能和特性的信息。”您可能还想阅读:WURLF and UAProf。
DeviceAtlas是一个流行的商业解决方案,声称比WURFL更全面(它包括所有WURFL数据和更多)。请参阅:How do you compare DeviceAtlas to WURFL and UAProf。
WURFL是最好的选择,它是开源的,它主要用于移动web应用程序 – fravelgue 2009-11-08 19:48:33
您可能不希望您的网站有两个单独的版本。使用feature detection逐步增强您的简单体验是一个更好的主意,以确定什么时候做花哨的东西。话虽如此,如果浏览器不支持它们,CSS规则往往会自行退化。
.background-gradient {
background-color: #333;
background-image: url(some_image.png); /*older browsers simply get the bg image*/
background-image: -webkit-linear-gradient(top, #333333, #eeeeee);
background-image: -moz-linear-gradient(top, #333333, #eeeeee);
background-image: -ms-linear-gradient(top, #333333, #eeeeee);
background-image: -o-linear-gradient(top, #333333, #eeeeee);
background-image: linear-gradient(top, #333333, #eeeeee);
}
如果使用.NET你的工作 - 看看这里所讨论的移动浏览器定义文件[http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx](http://www.hanselman。com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx) – beckelmw 2009-11-07 04:51:51