我想屏蔽一些内容在ucweb(手机浏览器)上显示,但是通过$_SERVER['HTTP_USER_AGENT'] 获取得到的结果Friefox,就这样屏蔽的话,Friefox浏览器也不能显示了.如果能准确的判断出浏览器是ucweb?同时又不影响以Gecko Friefox为内核的其他浏览器.
解决方案 »
- 问什么在:Header("Content-type: image/gif");之下,我无法进行session会话?
- 用php做了个网站,希望朋友给看看
- php错误
- 请问哪里有“用PHP编写PDF文档生成器”完整源代码下载
- PHP图像处理高手教教我吧,谢谢了
- wamp只适用于学习吗?
- 自从学.net就发觉自己整天在学新技术,新名词了,很少有时间把精力集中到具体业务编程上。
- 麻烦来看看这个论坛是什么编码的,怎么复制出来都是乱码
- 求教:一个新手学习php的问题?
- 新手问路
- Apache通过rewrite绑定二级域名的问题
- (求救啊!)我写的PHP网站,火狐能正常显示,但是在IE和360上就显示不出来,是什么原因啊。
如果ucweb的标准没有给出明确的区分方法,
基本上是无法从头信息中区分。只能是判断分辨率,给个指引链接。
为什么要区分UCWEB,是因为UCWEB是手机上的浏览器,手机的屏幕有限,在访问时我想屏蔽掉一些内容在手机上显示.而电脑浏览器不会受到影响。
解决的都不完善
UCWEB本来就是想让手机可以代替桌面浏览器来访问WEB,自然它会模仿一切WEB或者WAP浏览器的动作,在UCWEB的设置里也可以伪造UserAgent。
可能判断UCWEB的中转服务器的IP也是一种解决办法。
分享一下解决方法 <script language="javascript">
var Sys = {};
var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
if (Sys.opera) {
window.location.href = "opFxIndex.aspx"; }
else {
if (ua.match("ucweb") != null && ua.match("ucweb") == "ucweb") {
window.location.href = "ucDefault.aspx";
}
else {
/*GetData(); //转向通用页面或方法
setInterval("Reload()", 1000);*/
} }
</script>
var bIsUc7 = sAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sAgent.match(/ucweb/i) == "ucweb";
那中转站的IP应该不会太多吧,这个判断IP不知道行不行!