前端开发

 首页 > 前端开发 > javascript > js如何判断访问是来自搜索引擎(蜘蛛)还是直接访问

js如何判断访问是来自搜索引擎(蜘蛛)还是直接访问

分享到:
【字体:
导读:
          以下javascript脚本代码可以实现判断访问是否来自搜索引擎。 代码如下: scripttype=text/javascriptif(window.name!=ad_app6){varr=document.referrer;r=r.toLowerCase();//转为小写varaSites=newArray(google.,baidu.,soso...

以下javascript脚本代码可以实现判断访问是否来自搜索引擎。
代码如下:


if(window.name != 'ad_app6'){
var r = document.referrer;
r = r.toLowerCase(); //转为小写
var aSites = new Array('google.','baidu.','soso.','so.','360.','yahoo.','youdao.','sogou.','gougou.');
var b = false;
for (i in aSites){
if (r.indexOf(aSites[i]) > 0){
b = true;
break;
}
}
 
if(b)
{
self.location = '要跳转的网址';
window.adworkergo = 'ad_app6';
}
}

介绍的这个JS判断蜘蛛来源的方法脚本是写在body的onload里面的。即页面加载时进行判断。代码如下:

body {onload:expression(
if(window.name!="Yang"){
var str1 = document.referrer;
str1 = str1.toLowerCase();
var str6 = 'google.';
var str7 = 'baidu.';
var str4 = 'yahoo.';
var str8 = 'youdao.';
var str9 = 'sogou.';
var str5 = 'soso.';
if(str1.indexOf(str7)>0 || str1.indexOf(str6)>0 || str1.indexOf(str4)>0 || str1.indexOf(str3)>0 || str1.indexOf(str8)>0 || str1.indexOf(str9)
 
>0 || str1.indexOf(str5)>0 && "zh-cn"==navigator.systemLanguage)
{
self.location='http://www.abc.com/';
window.name="Yang";
}
 
}
);}

这个JS判断蜘蛛来源方法不太好用。特别是在需要判断更多蜘蛛来源时代码写起来比较麻烦。

分享到:
javascript日期处理函数,性能优化批处理
其实网上写javascript日期格式化的博文很多,大体都看了看,都还不错。唯一遗憾的是只顾着实现了功能,没对函数进行性能优化。俗话说:不要重复造轮子。google上找了一个比较不错的日期格式化函数,来开始我的优化之旅吧!google上找的这个日期函数化函数,估计大家都很眼熟,以前我也一直在用。先看看优化后和优化前的效率...
javascript函数式编程深度解析
javascript函数式编程深度解析 有时,优雅的实现是一个函数。不是方法。不是类。不是框架。只是函数。                        - John Carmack,游戏《毁灭战士》首席程序员 函数式编程全都是关于如何把一个问题分解为一系列函数的。通常,函数会链在一起,互相嵌套, 来回传递,被视作头等公民...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……