高亮度显示搜索关键字

< html >
< script  url ="UrlBuilder.js" ></ script >
< body >
< script >

// 测试代码 
function  UrlTest(){
    
var  myht = new  HighlightText();
    myht.Execute(
" lqscoke " ); 
}


// ******高亮度显示关键字******

function  HighlightText(range)
{
    
if  ( range )
    {
         
this .m_Range  =  range;
    }
    
else
    {
         
this .m_Range  =  document.body.createTextRange();
    }     
    
this .m_Keyword  =   '' ;
    
    
this .toString  =   function ()
    {
         
return   ' [class HightlightText] ' ;
    };       
}

HighlightText.prototype.Execute 
=   function (keyword)
{
     
if  ( keyword )
     {
          
this .m_Keyword  =  keyword;
     }
     
if  (  this .m_Range  &&   this .m_Keyword )
     {
         
var  separater  =   '   ' ;
         
if  (  this .m_Keyword.indexOf( '   ' ==   - 1  ) 
         {
              separater 
=   ' + ' ;
         }   
         
var  keywords  =   this .m_Keyword.split(separater); 
         
var  bookmark  =   this .m_Range.getBookmark();             
         
for  (  var  i = 0  ; i  <  keywords.length ;  ++ i )
         {
             
var  keyword  =  keywords[i];
             
if  ( keyword  &&  keyword.length  >   1  )
             { 
                 
while ( this .m_Range.findText(keywords[i]))
                 {
                      
this .m_Range.execCommand( ' ForeColor ' ' false ' ' red ' );
                      
this .m_Range.execCommand( ' BackColor ' ' false ' ' highlight ' ); 
                      
this .m_Range.collapse( false );
                 }
                 
this .m_Range.moveToBookmark(bookmark);
             }
         }
     }
}
// ******高亮度显示关键字******
</ script >





< script  language ="javascript" >
// //------通过Google搜索,获取关键字,并高亮度显示-------///
function  FriendlyDisplayForSearch()
{
    
var  myurltest = " http://www.google.com/search?hl=zh-CN&newwindow=1&q=%E6%9D%8E%E6%B3%89%E7%94%9F&lr= " ;
    
var  url  =   new  UrlBuilder(myurltest);
    
if  ( url.m_Success )
    {
         
var  host  =  url.m_Host.toLowerCase();
         
if  ( host.indexOf( ' .google. ' !=   - 1  )
         {
             
var  keywords  =  url.GetValue( ' q ' ' UTF8 ' );
             
if  ( keywords )
             {
                  
var  ht  =   new  HighlightText();
                  ht.Execute(keywords);
             }
         }
         
else   if  ( host.indexOf( ' .baidu. ' !=   - 1  )
         {
            
         }    
    }   
}
function  TestUrlBuilder()
{
    
var  url  =   new  UrlBuilder( ' http://www.google.com/search?hl=zh-CN&newwindow=1&q=%E6%9D%8E%E6%B3%89%E7%94%9F&lr= ' );
// http://birdshome.cnblogs.com:8080/index.aspx?hl=zh-CN&newwindow=1&q=#abc
    url.GetValue( '' ); 
    
var  strParams  =   ''
    
for  (  var  key  in  url.m_Params )
    {
         strParams 
+=  key  +   '  =  '   +  decodeURI(url.m_Params[key])  +   ' ' ;
    } 
    alert(
' m_Href = '   +  url.m_Href 
        
+   ' m_Host = '   +  url.m_Host
        
+   ' m_Hostname = '   +  url.m_Hostname
        
+   ' m_Port = '   +  url.m_Port
        
+   ' m_Protocol = '   +  url.m_Protocol
        
+   ' m_Path = '   +  url.m_Path
        
+   ' m_Search = '   +  url.m_Search
        
+   ' m_Hash = '   +  url.m_Hash
        
+   ' '   +  strParams);    
}
</ script >


< script >
 
/* **********************************************************
 UrlBuilder Class created by JavaScript

 Author: lizhi[at]hit.edu.cn
 Version: 1.0
 Created: 2006.02.21 22:05
 Updated: N/A

 History:
     1. The first version of code created in 2006.02.21 
**********************************************************
*/
function  UrlBuilder(url)
{
    
this .m_Href  =   null ;
    
this .m_Host  =   null ;
    
this .m_Hostname  =   null
    
this .m_Port  =   null ;
    
this .m_Protocol  =   null ;
    
this .m_Path  =   null ;
    
this .m_Search  =   null ;
    
this .m_Hash  =   null ;
    
this .m_Params  =   null
    
this .m_Sucess  =   false
    
if  ( url )  this .Parse(url);
   
    
this .toString  =   function ()
    {
         
return   ' [class UrlBuilder] ' ;
    };     
}

UrlBuilder.prototype.Parse 
=   function (url)
{
    
var  m  =  url.match( / (w{ 3 , 5 }:) / / ([ ^ .] + ( ? :.[ ^ .: / ] + ) + )( ? ::(d{ 1 , 5 })) ? /?/ );
    
if  ( m )
    {
         
this .m_Protocol  =  m[ 1 ];
         
this .m_Hostname  =  m[ 2 ]; 
         
this .m_Port  =  m[ 3 ]; 
         
if  (  this .m_Port ) 
         {
             
this .m_Host  =   this .m_Hostname  +   ' : '   +   this .m_Port;
         }
         
else
         {  
             
this .m_Host  =  m[ 2 ];
         }
         
var  indexHash  =  url.indexOf( ' # ' );
         
if  ( indexHash  !=   - 1  )
         {
             
this .m_Hash  =  url.substr(indexHash);
         }
         
else
         {
             
this .m_Hash  =   '' ;
         }        
         
var  indexParams  =  url.indexOf( ' ? ' );
         
if  ( indexParams  !=   - 1  )
         {
             
if  ( indexHash  !=   - 1  )
             {
                  
this .m_Search  =  url.substring(indexParams, indexHash);
             }
             
else
             { 
                  
this .m_Search  =  url.substr(indexParams);
             }
             
this .m_Path  =  url.substr(indexParams);
         }
         
else
         {
             
this .m_Search  =   '' ;
         }
         
this .m_Success  =   true
         
this .m_Params  =   null
         
this .m_Href  =  url;
    }
};

UrlBuilder.prototype.GetValue 
=   function (key, encoding)
{
    
if  (  ! this .m_Params )
    {
         
if  (  this .m_Search )
         {
             
this .m_Params  =  {}; 
             
var  search  =   this .m_Search.substring( 1 );
             
var  keyValues  =  search.split( ' & ' );
             
for  (  var  i = 0  ; i  <  keyValues.length ;  ++ i )
             {
                  
var  keyValue  =  keyValues[i];
                  
var  index  =  keyValue.indexOf( ' = ' );
                  
if  ( index  !=   - 1  )
                  {
                       
this .m_Params[keyValue.substring( 0 , index)]  =  keyValue.substr(index + 1 );
                  }
                  
else
                  {
                       
this .m_Params[keyValue]  =   '' ;
                  }
              }  
         }
    }
    encoding 
=  encoding  ||   ''
    
switch (encoding.toUpperCase())
    {
         
case   ' UTF8 '  :
         {
              
return  decodeURI( this .m_Params[key]);
         }
         
case   ' UNICODE '  :
         {
              
return  unescape( this .m_Params[key]);
         }
         
case   ' GB2312 '  :  //  need VBScript function Chr()
          default  :
         {
              
return   this .m_Params[key];
         }
    }  
}
// //------通过Google搜索,获取关键字,并高亮度显示-------///
</ script >

< input  type ="button"  value ="Click"  onclick =FriendlyDisplayForSearch() >
< input  type ="button"  value ="Click_Test"  onclick ="UrlTest()"
<p
>
李泉生
李泉生lqscoke 李泉lqscoke 生lqscoke 李泉生lqscoke 李lqscoke 泉生李泉生
李泉生lqscoke 李泉生
lqscoke 
lqscoke 
lqscoke
lqsco李泉生ke lqscoke 
lqscoke lqs李泉生coke lqscoke lqscoke  
</ p >
</ body >
</ html >
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值