有可能有時候我們會用到在百度搜什么關鍵詞進來我們的網站的,所有我們又想拿到用戶搜索的關鍵詞。
這是我研究了半天所得出的辦法。話不多說直接貼代碼
<script> function queryString(parm,parm2){ var url1 = parm2; //indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置。 //如果要檢索的字符串值沒有出現,則該方法返回 -1。 var begin = url1.indexOf("&"+parm+"=")+parm.length+2; if(begin == -1) return ''; url2 = url1.slice(begin); var end = url2.indexOf("&"); if(end == -1){ return url2.slice(0); }else{ return url2.slice(0,end); } } $line='<span>測試</span>'; if(document.referrer){ // 獲取上級頁面 var url = document.referrer; // 判斷是不是百度的域名 if(url.match("www.baidu.com")) { // 第一個參數是百度的get參數wd拼接的關鍵詞 var mywords = queryString("wd",url); if(mywords != '') $line='<span>'+decodeURI(mywords)+'</span>'; // 判斷是不是百度手機端 }else if(url.match("m.baidu.com")){ var mywords = queryString("word",url); if(mywords != '') $line='<span>'+decodeURI(mywords)+'</span>'; } } $('#huanw').html($line); </script>
以上代碼就是獲取百度的搜索關鍵詞,前提是必須是從百度搜索進來到你的網站
此處可以不用復制
if(url.match(/(wap\.sogou\.com)|(3g\.sogou\.com)|(m\.sogou\.com)/)) { var mywords = queryString("keyword",url); if(mywords != '') $line='<i></i>'+decodeURI(mywords); }
可以多域名判斷