开发手机网站是一个完全不同的世界吗?
如何检测是否从计算机或手机访问过某个页面?
我问这个因为我看到如下代码:
if (isset($_SERVER['HTTP_ACCEPT']) &&
(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')!==FALSE)
&& (strpos($_SERVER['HTTP_ACCEPT'],'text ml') === FALSE
||
(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml') <
strpos($_SERVER['HTTP_ACCEPT'],'text ml'))
)) { //cellphone
readfile('index.wml');
} else readfile('index.htm');
如何将代码移植到C#中?
答案 0 :(得分:3)
在php中,您通常会检查$_SERVER['HTTP_USER_AGENT']
标题,以便识别Web请求所源自的Web浏览器。
为移动浏览器开发网站并不是一个完全不同的世界。但是,您必须牢记以下约束:
屏幕尺寸:不仅您的屏幕空间较小,但不同移动设备之间的尺寸和方向也有很大差异。
Flash支持:大多数移动浏览器不支持Flash。
JavaScript支持:在移动浏览器上,JavaScript比Flash更受支持,特别是在现代手机和PDA中。
渲染效果:复杂页面需要更长时间才能在移动浏览器中呈现。通常,如果您决定使用JavaScript,那么通过JavaScript操作DOM应该是最小的。
移动带宽:请记住尽可能保持图像压缩,并缩小所有HTML,CSS和JavaScript。
答案 1 :(得分:2)
要检测手机并找出它的功能,您可以使用WURFL库。
答案 2 :(得分:0)
您可以解析用户代理字符串(很容易伪造),也可以使用媒体查询来检查最大视口大小这么小的内容。
答案 3 :(得分:0)
您将要在Getting Mobile: Using WML and WAP to Display Web Sites on Mobile Devices上查看此MSDN文章。通过设计WML,手机知道使用低分辨率版本。
此页面Detecting Mobile Devices using ASP.NET and C#显示了如何使用PHP移植的类来完成此操作。该链接中的API可以检测iPhone,机器人,黑莓,Symbion等。
WML卡片存储在普通卡片上 网络服务器平凡配置 提供text / vnd.wap.wml MIME类型 除了纯HTML和 变种。请求时使用WML卡 通过设备访问桥接器 WAP网关,位于移动设备之间 设备和万维网, 将页面从一个传递到另一个 很像代理。网关发送 WML页面以适合的形式出现 用于移动设备接收(WAP 二进制XML)。这个过程是隐藏的 从手机,所以它可以访问 页面与浏览器相同 使用URL访问HTML(for 例如,http://example.com/foo.wml)。 (提供给手机运营商 没有专门锁定手机 防止用户指定的访问 网址。)
答案 4 :(得分:0)
user198729正在询问如何在C#中执行此操作 PHP中的$ _SERVER例如$ _SERVER ['HTTP_ACCEPT']由c#中的Request.Headers执行,例如
Request.Headers["HTTP_ACCEPT"]