憨厚生

          ----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.aygfsteel.com/hulizhong/archive/2009/02/12/254350.html


          posted on 2009-02-17 14:20 二胡 閱讀(1495) 評論(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  回復  更多評論
            

          主站蜘蛛池模板: 历史| 搜索| 汽车| 竹北市| 隆安县| 青神县| 墨竹工卡县| 克山县| 普陀区| 娄底市| 东兴市| 灵川县| 乌海市| 于田县| 金川县| 获嘉县| 托克托县| 乐至县| 穆棱市| 马龙县| 合肥市| 天柱县| 丹阳市| 沅江市| 霍州市| 桐乡市| 乐昌市| 海口市| 隆德县| 赤峰市| 额尔古纳市| 高唐县| 金川县| 夏邑县| 台山市| 盐城市| 湖州市| 泽普县| 崇左市| 阿城市| 迁西县|