通过Js判断客户端为PC端还是手持设备
原理
Js中获取浏览器信息字符串只要使用navigator.userAgent即可,这样我们再利用indexof来判断版本或其它信息了。
代码实例
1.简化版
function IsPC() {
var userAgentInfo = navigator.userAgent;
var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
2.详细版
var browser={
versions:function(){
var u = navigator.userAgent, app = navigator.appVersion;
return {//移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
if(browser.versions.mobile || browser.versions.ios || browser.versions.android ||
browser.versions.iPhone || browser.versions.iPad){
window.location = "http://m.zhaizhainv.com";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
3.基本版
js的
alert(navigator.userAgent.toLowerCase());
1
方式获取浏览器的userAgent信息
扩展
网络爬虫的爬取问题
爬虫请求头中的User-Agent也包含了特殊的标记信息,我们获取到该信息判断是否爬虫,然后返回最佳的SEO页面就可以了。 网络爬虫在发送http请求获取网页数据时也会在头部附加 User-Agent信息,特别注意的一点就是有些野蜘蛛 User-Agent信息为空,这样就需要在程序中做是否为空的判断,防止robots.txt 文件也对它的限制无效,导致不断的爬去你的网站。 可以像下面这样(PHP实例,其他同理),判断到访问者的User-Agent为空,则返回404:
<?php
$flag = false;
$ua = $SERVER['HTTP_USER_AGENT'];
if($ua == ''){
$flag = true;
}
if($flag){
header('HTTP/1.1 404 Not Found');
header("status: 404 Not Found");
echo '您的请求未通过我们的验证!';
exit();
}
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
主要搜索引擎官方给出的一些user agent信息: [infobg class=“warning” closebtn=“” color=“” bgcolor=“”] 百度:http://www.baidu.com/search/spider.htm google:https://support.google.com/webmasters/answer/1061943 360:http://www.so.com/help/help_3_2.html sogou:http://www.sogou.com/docs/help/webmasters.htm#07 soso:http://help.soso.com/webspider.htm(这条可以无视,原因你懂得) [/infobg] 原理、标记信息等说的差不多了,剩下的靠自己啦,不管你要拿去做什么,不要让我知道哦,我什么都不知道= =
参考地址
Preview
除特别注明外,本站所有文章均为 Windcoder网 原创,转载请注明出处来自: tong-guo-js-pan-duan-ke-hu-duan-wei-pc-duan-huan-shi-shou-chi-she-bei
Loading comments...

Preview
No Data