憨厚生

----Java's Slave----
***Java's Host***

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  165 随笔 :: 17 文章 :: 90 评论 :: 0 Trackbacks
     电子商务系统,站内查询是一个基本功能。但是开发一个高效的站内查询系统也不是件容易的事!好多站内查询系统都是通过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.blogjava.net/hulizhong/archive/2009/02/12/254350.html


posted on 2009-02-17 14:20 二胡 阅读(1475) 评论(2)  编辑  收藏 所属分类: 互联网

评论

# 代码修正 2009-12-31 10:12 hello
search:function(key){
if(document.getElementById("gs")==undefined)
this.init();
document.getElementById("q")["value"]=key;
document.getElementById("gs").submit()
}  回复  更多评论
  

# re: 如何添加google站内搜索代码到自己网站 2010-01-02 11:05 二胡
@hello
if(document.getElementById("gs"))与
if(document.getElementById("gs")==undefined)
效果是一样的,如果document.getElementById("gs")为undefined的话,其值也会转换成false  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: