用JavaScript打造搜索工具栏

冷幽寒

冷幽寒

2016-02-19 15:27

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享用JavaScript打造搜索工具栏的教程,热爱PS的朋友们快点看过来吧!

  用JavaScript打造搜索工具栏

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

  一:最终效果
  

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  二:原理

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

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

    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     titleSearch/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         strongspan style="font-size: 24pt; color: #336633"Searchbr /
   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:ListItemMp3/asp:ListItem
  100                         asp:ListItemImage/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                              
  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

展开更多 50%)
分享

猜你喜欢

用JavaScript打造搜索工具栏

Web开发
用JavaScript打造搜索工具栏

动态真彩工具栏

C语言教程 C语言函数
动态真彩工具栏

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

工具栏怎么还原

计算机应用技术
工具栏怎么还原

电脑工具栏怎么还原

电脑入门
电脑工具栏怎么还原

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Access 2007微型工具栏

编程语言 网络编程
Access 2007微型工具栏

WinRAR如何定制工具栏

电脑网络
WinRAR如何定制工具栏

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Timeout error occurred trying to start MySQL Daemon

Timeout error occurred trying to start MySQL Daemon

巧用VS2005解决VS2005网站发布不便问题

巧用VS2005解决VS2005网站发布不便问题
下拉加载更多内容 ↓