Rumah > hujung hadapan web > tutorial js > 通过javascript实现搜索工具栏的实例详解

通过javascript实现搜索工具栏的实例详解

巴扎黑
Lepaskan: 2017-05-22 11:46:09
asal
1670 orang telah melayarinya

一:最终效果
通过javascript实现搜索工具栏的实例详解

二:原理

如果你在Yahoo中搜索“中国”,那么在浏览器的地址栏将得到这样一串地址:http://search.cn.yahoo.com/search?ei=gbk&fr=fp-tab-web-ycn&meta=vl%
3Dlang_zh-CN%26vl%3Dlang_zh-TW&pid=ysearch&source=ysearch_www_hp_button
&p=%D6%D0%B9%FA&Submit=
看上去有些乱了,简化一下:http://search.cn.yahoo.com/search?&p=%D6%D0%B9%FA
这就是关键.其中&p=%D6%D0%B9%FA是搜索的关键字参数,而%D6%D0%B9%FA是“中国”的
Url编码。OK,我们只要能构造出这样的编码就好了。

三:URL编码
JavaScript的encodeURIComponent()函数可以完成编码工作。
比如上面的例子我们可以用“http://search.cn.yahoo.com/search?&p=”+encodeURIComponent(“中国”);来完成。

四:代码
(点击加号展开)

代码如下:

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Search.aspx.cs" Inherits="Search" %> 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 <html xmlns="http://www.w3.org/1999/xhtml" > 
 <head runat="server"> 
     <title>Search</title> 
 <script language="javascript" type="text/javascript"> 
 // <!CDATA[ 
 function GetEncodeOfKey() 
 { 
     var strKey = window.document.getElementById("Text_Key").value;       
     return  encodeURIComponent(strKey);  
 } 
 function GetUrl(site) 
 { 
     var encode=GetEncodeOfKey(); 
     //web 
     if(document.getElementById("RadioButtonList_Kind_0").checked) 
     { 
         if(site=="google") 
         { 
             return "http://www.google.com/search?q="+encode+"&ei=UTF-8"; 
         } 
         else 
         { 
             return "http://search.yahoo.com/search?p="+encode+"&ei=UTF-8"; 
         } 
     } 
     //mp3 
     else if(document.getElementById("RadioButtonList_Kind_1").checked) 
     { 
         if(site=="google") 
         { 
             return "http://www.google.com/search?q="+encode+" mp3"+"&ei=UTF-8"; 
         } 
         else 
         { 
             return "http://audio.search.yahoo.com/search/audio?&p="+encode+"&ei=UTF-8"; 
         } 
     } 
     //img 
     else if(document.getElementById("RadioButtonList_Kind_2").checked) 
     { 
         if(site=="google") 
         { 
             return "http://images.google.com/images?q="+encode+"&ei=UTF-8"; 
         } 
         else 
         { 
             return "http://images.search.yahoo.com/search/images?p="+encode+"&ei=UTF-8"; 
         } 
     } 
     else 
     { 
         //alert("err"); 
     } 
      
 } 
 function Button_Google_onclick()  
 { 
     window.open(GetUrl("google")); 
 } 
 function Button_Yahoo_onclick()  
 { 
     window.open(GetUrl("yahoo")); 
 } 
 // ]]> 
 </script> 
 </head> 
 <body> 
     <form id="form1" runat="server"> 
     <p> 
         <br /> 
         <br /> 
         <strong><span style="font-size: 24pt; color: #336633">Search<br /> 
         </span></strong> 
     </p> 
     <hr style="position: relative" /> 
         <br /> 
         <table style="left: 0px; position: relative; top: 0px"> 
             <tr> 
                 <td style="width: 31px; height: 21px"> 
                     <span style="font-family: Terminal">Key</span></td> 
                 <td style="width: 253px; height: 21px"> 
                     <input id="Text_Key" style="width: 248px; position: relative" type="text" /></td> 
                 <td style="width: 175px; height: 21px"> 
                     <asp:RadioButtonList ID="RadioButtonList_Kind" runat="server" RepeatDirection="Horizontal" 
                         Style="position: relative" Font-Names="terminal"> 
                         <asp:ListItem Selected="True">Web</asp:ListItem> 
                         <asp:ListItem>Mp3</asp:ListItem> 
                         <asp:ListItem>Image</asp:ListItem> 
                     </asp:RadioButtonList></td> 
             </tr> 
             <tr> 
                 <td style="width: 31px"> 
                 </td> 
                 <td colspan="2"> 
                     <input id="Button_Google" style="width: 80px; position: relative" type="button" value="Google" onclick="return Button_Google_onclick()" /> 
                               
                     <input id="Button_Yahoo" style="left: -29px; width: 104px; position: relative" type="button" 
                         value="Yahoo!" onclick="return Button_Yahoo_onclick()" /></td> 
         </table> 
         <br /> 
         <hr style="position: relative" /> 
         <asp:HyperLink ID="HyperLink_Home" runat="server" NavigateUrl="~/Default.aspx" Style="position: relative">Home</asp:HyperLink></form> 
 </body> 
 </html>
Salin selepas log masuk

【相关推荐】

1. Javascript免费视频教程

2. JavaScript运动框架之多值运动的具体介绍(四)

3. JavaScript运动框架之多物体任意值运动的示例代码分享(三)

4. JavaScript运动框架之如何解决防抖动问题、悬浮对联(二)

5. JavaScript运动框架之如何解决速度正负取整问题(一)

Atas ialah kandungan terperinci 通过javascript实现搜索工具栏的实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan