C# 如何识别网站是否源于移动浏览器?
开发手机网站是一个完全不同的世界吗 我如何检测一个页面是通过电脑还是手机访问的 我这样问是因为我看到如下代码:C# 如何识别网站是否源于移动浏览器?,c#,mobile,mobile-phones,wml,C#,Mobile,Mobile Phones,Wml,开发手机网站是一个完全不同的世界吗 我如何检测一个页面是通过电脑还是手机访问的 我这样问是因为我看到如下代码: if (isset($_SERVER['HTTP_ACCEPT']) && (strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')!==FALSE) && (strpos($_SERVER['HTTP_ACCEPT'],'text ml') === FALSE || (strpos($_SERVER['HTTP_A
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');
if(isset($\u服务器['HTTP\u ACCEPT']))&&
(strpos($_SERVER['HTTP\u ACCEPT'],'vnd.wap.wml')!==FALSE)
&&(strpos($_SERVER['HTTP\u ACCEPT'],'text ml')==FALSE
||
(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml'))<
strpos($_服务器['HTTP\u ACCEPT'],'text ml'))
)){//手机
readfile('index.wml');
}else readfile('index.htm');
如何将代码导入C#?在php中,您通常会检查
$\u服务器['HTTP\u USER\u AGENT']
标题,以识别web请求的来源web浏览器
为移动浏览器开发网站并不是一个完全不同的世界。但是,您必须记住以下限制:
- 屏幕大小:不仅你的屏幕面积更小,而且不同移动设备的大小和方向也有很大差异
- Flash支持:大多数移动浏览器不支持Flash
- JavaScript支持:JavaScript在移动浏览器上比Flash更受支持,特别是在现代移动电话和pda中
- 渲染性能:在移动浏览器中渲染复杂页面需要更长的时间。一般来说,若您决定使用JavaScript,那个么通过JavaScript对DOM的操作应该是最小的
- 移动带宽:记住尽可能压缩图像,并缩小所有HTML、CSS和JavaScript
用户198729询问如何在C#
PHP中的$_服务器,例如$_服务器['HTTP_ACCEPT']是由c#
中的Request.Headers执行的,例如
Request.Headers["HTTP_ACCEPT"]
但是我提供的代码没有检查
$\u SERVER['HTTP\u USER\u AGENT']
是的,还有其他方法。您可能希望查看本文中的示例:该文章中的代码非常简单。它检查来自移动设备的所有已知HTTP头。然后代码段以if($mobile\u browser>0){}else{}
结尾。如果$mobile\u browser
大于0,则您的请求来自移动设备。它们处理$\u服务器['HTTP\u ACCEPT']
的方式不同。我上面的代码是否有误?没有错,但可能会检测到所有移动电话浏览器。由于有人看到php代码,您的问题标题被编辑为不正确('php');请随意修改。我编辑了标题,但只是因为OP在问题中要求PHP解决方案。显然,如果不是出于这个目的,请随意回滚。他想要的是C#soln而不是PHP。。请看最后一句话对不起。现在,我想知道这一困惑:我正在检查问题的版本历史,最后一句话是在第三次修订后才添加的。在PHP出现之前,标签和问题中都有。22分钟后,C#的东西出现了:)哇-提供一个关于如何在C#中做到这一点的直接链接,并被否决。。一定有人嫉妒我的回答:)罗伯托,这个问题可能有些困惑。这个问题最初是为了请求一个php解决方案而提出的,但经过3次修改,22分钟后,最后一句话出现在c#标记旁边。。。尽管第二句话仍然要求使用php方法!