電子商務系統,站內查詢是一個基本功能。但是開發一個高效的站內查詢系統也不是件容易的事!好多站內查詢系統都是通過lucene的2次開發來實現的。在站內查詢系統開發完成之前,調用google的站內查詢也是一個辦法。
前幾天,查找了相關資料,把其功能寫成了一個函數方便調用,貼出來,希望對大家有用!
/**
*@description google查詢對象
*@param sitesearch 搜索的指定網站或指定域名
*@param ie 發送搜索詞的網頁編碼,預設值為"UTF-8",由于在中國很多網站是使用 GB2312 編碼
*@param oe 顯示搜索的網頁編碼,預設值為"UTF-8",由于現代大部分機器都能支持"UTF-8"無誤,因此你大概不需要調整次參數;
*@param hl 顯示搜索的網頁語言。"zh-CN"為簡體中文,"zh-TW"為繁體中文,"en"為英文。
*/
function GoogleSearch(sitesearch,ie,oe,hl){
this.sitesearch=sitesearch;
this.ie=ie;
this.oe=oe;
this.hl=hl;
}
GoogleSearch.prototype={
init:function(){
var searchdiv_=createEle("DIV",{"style":"display:none;"});
var form_=createEle("FORM",{"action":"http://www.google.cn/search", "method":"get", "name":"gs","id":"gs"});
var sitesearch_=createEle("input",{"name":"sitesearch","value":this.sitesearch, "type":"hidden"});
var hl_=createEle("INPUT",{"name":"hl", "value":this.hl,"type":"hidden"});
var ie_=createEle("INPUT",{"name":"ie","value":this.ie,"type":"hidden"});
var oe_=createEle("INPUT",{"name":"oe","value":this.oe,"type":"hidden"});
var query_=createEle("INPUT",{"name":"q","id":"q","type":"text"});
form_.appendChild(sitesearch_);
form_.appendChild(hl_);
form_.appendChild(ie_);
form_.appendChild(oe_);
form_.appendChild(query_);
searchdiv_.appendChild(form_);
document.body.appendChild(searchdiv_);
},
search:function(key){
if(document.getElementById("gs"))
this.init();
document.getElementById("q")["value"]=key;
document.getElementById("gs").submit()
}
}
function createEle(tagname,obj){
var ele=document.createElement(tagname);
for(property in obj){
ele.setAttribute(property,obj[property]);
}
return ele;
}
var GS=new GoogleSearch("www.youwebsite.com","GB2312","UTF-8","zh-CN");
其中www.youwebsite.com,是你的網站域名;
調用方式很簡單:GS.search("查詢關鍵字");
參考:http://www.tkk7.com/hulizhong/archive/2009/02/12/254350.html