广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    用JavaScript打造搜索工具栏

    2018-04-16 10:58:01 次阅读 稿源:互联网
    广告

      用JavaScript打造搜索工具栏

      电子科技大学软件学院03级2班 周银辉

      一:最终效果
      

      二:原理

      如果你在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(“中国”);来完成。

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

        1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Search.aspx.cs" Inherits="Search" %>
        2
        3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        4
        5 <html xmlns="http://www.w3.org/1999/xhtml" >
        6 <head runat="server">
        7     <title>Search</title>
        8 <script language="javascript" type="text/javascript">
        9 // <!CDATA[
       10
       11 function GetEncodeOfKey()
       12 {
       13     var strKey = window.document.getElementById("Text_Key").value;     
       14     return  encodeURIComponent(strKey);
       15 }
       16
       17 function GetUrl(site)
       18 {
       19     var encode=GetEncodeOfKey();
       20    
       21     //web
       22     if(document.getElementById("RadioButtonList_Kind_0").checked)
       23     {
       24         if(site=="google")
       25         {
       26             return "http://www.google.com/search?q="+encode+"&ei=UTF-8";
       27         }
       28         else
       29         {
       30             return "http://search.yahoo.com/search?p="+encode+"&ei=UTF-8";
       31         }
       32     }
       33     //mp3
       34     else if(document.getElementById("RadioButtonList_Kind_1").checked)
       35     {
       36         if(site=="google")
       37         {
       38             return "http://www.google.com/search?q="+encode+" mp3"+"&ei=UTF-8";
       39         }
       40         else
       41         {
       42             return "http://audio.search.yahoo.com/search/audio?&p="+encode+"&ei=UTF-8";
       43           
       44         }
       45     }
       46     //img
       47     else if(document.getElementById("RadioButtonList_Kind_2").checked)
       48     {
       49         if(site=="google")
       50         {
       51             return "http://images.google.com/images?q="+encode+"&ei=UTF-8";
       52         }
       53         else
       54         {
       55             return "http://images.search.yahoo.com/search/images?p="+encode+"&ei=UTF-8";
       56         }
       57     }
       58     else
       59     {
       60         //alert("err");
       61     }
       62    
       63    
       64 }
       65
       66 function Button_Google_onclick()
       67 {
       68     window.open(GetUrl("google"));
       69 }
       70
       71 function Button_Yahoo_onclick()
       72 {
       73     window.open(GetUrl("yahoo"));
       74 }
       75
       76 // ]]>
       77 </script>
       78 </head>
       79 <body>
       80     <form id="form1" runat="server">
       81     <div>
       82         <br />
       83         <br />
       84         <strong><span style="font-size: 24pt; color: #336633">Search<br />
       85         </span></strong>
       86     </div>
       87     <hr style="position: relative" />
       88         <br />
       89         <table style="left: 0px; position: relative; top: 0px">
       90             <tr>
       91                 <td style="width: 31px; height: 21px">
       92                     <span style="font-family: Terminal">Key</span></td>
       93                 <td style="width: 253px; height: 21px">
       94                     <input id="Text_Key" style="width: 248px; position: relative" type="text" /></td>
       95                 <td style="width: 175px; height: 21px">
       96                     <asp:RadioButtonList ID="RadioButtonList_Kind" runat="server" RepeatDirection="Horizontal"
       97                         Style="position: relative" Font-Names="terminal">
       98                         <asp:ListItem Selected="True">Web</asp:ListItem>
       99                         <asp:ListItem>Mp3</asp:ListItem>
      100                         <asp:ListItem>Image</asp:ListItem>
      101                     </asp:RadioButtonList></td>
      102             </tr>
      103             <tr>
      104                 <td style="width: 31px">
      105                 </td>
      106                 <td colspan="2">
      107                     <input id="Button_Google" style="width: 80px; position: relative" type="button" value="Google" onclick="return Button_Google_onclick()" />
      108                     &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
      109                     <input id="Button_Yahoo" style="left: -29px; width: 104px; position: relative" type="button"
      110                         value="Yahoo!" onclick="return Button_Yahoo_onclick()" /></td>
      111             </tr>
      112         </table>
      113         <br />
      114         <hr style="position: relative" />
      115         <asp:HyperLink ID="HyperLink_Home" runat="server" NavigateUrl="~/Default.aspx" Style="position: relative">Home</asp:HyperLink></form>
      116 </body>
      117 </html>
      118

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告