憨厚生

          ----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 二胡 閱讀(1505) 評論(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  回復  更多評論
            

          主站蜘蛛池模板: 化隆| 汽车| 和平区| 临西县| 广南县| 奈曼旗| 黄梅县| 松滋市| 勐海县| 沐川县| 宜川县| 什邡市| 宁都县| 古田县| 沙洋县| 安义县| 广平县| 永福县| 拜泉县| 云龙县| 高州市| 鄂托克旗| 西峡县| 辛集市| 南乐县| 新闻| 辰溪县| 平乡县| 濉溪县| 广东省| 习水县| 河北区| 讷河市| 桐城市| 通山县| 桂林市| 灵宝市| 阳信县| 莱西市| 石城县| 五大连池市|