我刚刚使用样式表(即@media print等)为网站添加了打印功能,想知道是否可以使用类似的方法来支持移动设备。
如果不行,我该如何检测移动设备?我的页面是C# (.aspx),我想为移动设备简化页面。
你有什么建议吗?
编辑:我妻子有一部黑莓手机,所以我至少希望为我们公司的网站启用黑莓手机支持。
如果不行,我该如何检测移动设备?我的页面是C# (.aspx),我想为移动设备简化页面。
你有什么建议吗?
编辑:我妻子有一部黑莓手机,所以我至少希望为我们公司的网站启用黑莓手机支持。
<style type="text/css">
@media handheld
{
/* handheld styles */
}
</style>
这应该能解决问题。它的工作方式与@media print相同(或不同)。
有关媒体类型的完整列表,请参见此处。
您需要查看您的用户代理类型,并查看它是否为移动设备。以下代码是一个示例:
public static bool IsMobile(string userAgent)
{
userAgent = userAgent.ToLower();
return userAgent.Contains("iphone") |
userAgent.Contains("ppc") |
userAgent.Contains("windows ce") |
userAgent.Contains("blackberry") |
userAgent.Contains("opera mini") |
userAgent.Contains("mobile") |
userAgent.Contains("palm") |
userAgent.Contains("portable");
}
在大多数情况下,这应该是可行的!此链接可能会帮助您更加具体化。
做所有这些的最佳方式是在服务器级别完成。
使用Web服务检查访问者是否为移动设备,并根据此提供输出。在应用程序上使用相同的URL并执行相同的业务逻辑 - 只需更改应用程序的视图层。
一个很好的选择是Wapple Architect(http://wapple.net)- 它允许您通过一些Web服务在服务器级别进行这些检查,然后根据移动设备执行逻辑和添加代码。
绝对值得一看。