原创 一个封装搜索引擎的javascript类收藏

新一篇: 回调函数 与 回调机制 | 旧一篇: 网络版 RSS 阅读器,javascript 控件

这个javascript 类 封装了 Google,百度的本地搜索功能
测试页: SearchEngine
 
///////////////////////////////////////////////////////////
/*  YWControl JavaScript framework, version 0.0.1
 *  (c) 2005-2007 lava_sdb
 *
/*--------------------------------------------------------------------------
*/

var LocalSearchEngine = Class.create();
LocalSearchEngine.prototype 
= {
 initialize: 
function(searchId,sites ) {
       
this.id = searchId;
       
this.idTag = searchId;
    
this.sites = sites;
    
// 
    this.initUI();
 }

 
 createElement:
function(type, name) {  
  
var element = null;  
    
  
try {  
     
// First try the IE way; if this fails then use the standard way  
     element = document.createElement('<'+type+' name="'+name+'">');  
  }
 catch (e) {  
     
// Probably failed because we’re not running on IE  
  }
  
  
if (!element) {  
     element 
= document.createElement(type);  
     element.name 
= name;  
  }
  
    
return element;  
 }
 ,
 initUI:
function() {
  
var host = $(this.id);
  
if( host != null )
  
{
   
var This = this;
  
   
var editKey = document.createElement("input");
      editKey.id 
= this.id + "_wq";
      editKey.className 
= "SE_wq";
   editKey.type 
= "text";
   
   
var butSearch = document.createElement("input");
      butSearch.id 
= this.id + "_search";
      butSearch.className 
= "SE_search";
   butSearch.type 
= "submit";
   butSearch.value 
= "搜索";
   butSearch.onclick 
= function() {
     
var SEngine;
     
var link;
 
     
// 得到关键词
     var keyw = $(This.id + "_wq").value;
     
     
// 得到选择的搜索引擎
     var se = document.getElementsByName(This.id + "_SearchEngine");
     
for(i=0;i<se.length;i++{  
      
if(se[i].checked) {
       SEngine 
= se[i].value;
      }
  
     }
  
    
     
// 得到要搜索的站点
     var site = $(This.id + "_siteS").value;
     
// 搜索
     if( SEngine == "google" ) {
      link 
= "http://www.google.com/search?domains=";
      link 
+= site;
      link 
+= "&sitesearch=";
      link 
+= site;
      link 
+= "&q=";
      link 
+= keyw;
     }

     
else if( SEngine == "baidu" ) {
      link 
= "http://www.baidu.com/s?si=";
      link 
+= site;  
      link 
+= "&cl=3&ct=2097152&tn=baidulocal&word=";
      link 
+= keyw;
     }

     
else if( SEngine == "radarT" ) {
      link 
= "http://groups.google.com/group/radarT/search?group=radarT&q=";
      link 
+= keyw;
     }

     
     window.open(link);  
   }
;
   
   
//
   var divRad = document.createElement("div");
   divRad.id 
= this.id + "_divRad";
   
   
var radG = this.createElement("input"this.id + "_SearchEngine");
      radG.className 
= "SE_SearchEngine";
   radG.type 
= "radio";
   radG.checked 
= "checked"
   radG.value 
= "google";
   
   
var txtG = document.createTextNode("Google");
   
   
var radB = this.createElement("input"this.id + "_SearchEngine");
      radB.className 
= "SE_SearchEngine";
   radB.type 
= "radio"
   radB.value 
= "baidu";
   
var txtB = document.createTextNode("百度"); 
      
   
var radR = this.createElement("input"this.id + "_SearchEngine");
      radR.className 
= "SE_SearchEngine";
   radR.type 
= "radio"
   radR.value 
= "radarT";
   
var txtR = document.createTextNode("雷达技术论坛"); 
   
   divRad.appendChild( radG );
   divRad.appendChild( txtG );
   divRad.appendChild( radB );
   divRad.appendChild( txtB );      
   divRad.appendChild( radR );
   divRad.appendChild( txtR );   
   
   
///
   var divSel = document.createElement("div");
   divSel.id 
= this.id + "_divSel";   
   
   
var txtSite = document.createTextNode("选择站点"); 
   
var selSite = document.createElement("select");
   selSite.id 
= this.id + "_siteS";
   
   
for(var i=0; i<this.sites.length; i++ )
   
{
       
var opt1 = document.createElement("option");
       opt1.setAttribute(
"value"this.sites[i]);
       opt1.innerText 
= this.sites[i]; 
    
    selSite.appendChild( opt1 );    
   }
 
   
   divSel.appendChild( txtSite );     
   divSel.appendChild( selSite );   
   
//////
   host.appendChild( editKey );
   host.appendChild( butSearch );   
   host.appendChild( divRad );
   host.appendChild( divSel );            
  }

 }

}
;

发表于 @ 2007年06月23日 00:01:00|评论(loading...)|编辑

新一篇: 回调函数 与 回调机制 | 旧一篇: 网络版 RSS 阅读器,javascript 控件

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 舒定波