憨厚生

          ----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  回復  更多評論
            

          主站蜘蛛池模板: 刚察县| 收藏| 抚松县| 卢湾区| 尼木县| 宽甸| 光泽县| 嵊州市| 夏津县| 武陟县| 仪征市| 海盐县| 营口市| 乌鲁木齐县| 托克逊县| 林西县| 鄯善县| 济源市| 松原市| 会泽县| 大连市| 绥德县| 鹤壁市| 澄城县| 淮安市| 同德县| 河西区| 苍南县| 增城市| 昭苏县| 翁牛特旗| 海伦市| 诸城市| 鄢陵县| 霍山县| 密山市| 翁牛特旗| 日土县| 兴仁县| 台山市| 洞头县|