Usando JavaScript para construir uma barra de ferramentas de pesquisa
Zhou Yinhui No. 1, Classe 03, Escola de Software, Universidade de Ciência Eletrônica e Tecnologia da China
: O efeito final
2: Princípio
Se você pesquisar "China" no Yahoo, obterá uma sequência de endereços como esta na barra de endereços do navegador: 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&Enviar=
Parece um pouco confuso, vamos simplificar: http://search.cn.yahoo.com/search?&p=%D6%D0%B9%FA
Esta é a chave onde &p=%D6%D0%B9%FA é o parâmetro de palavra-chave da pesquisa e %D6%D0%B9%FA é "China"
Codificação de URL. OK, contanto que possamos construir essa codificação.
Três: codificação de URL
A função encodeURIComponent() do JavaScript pode completar o trabalho de codificação.
Por exemplo, no exemplo acima podemos usar "http://search.cn.yahoo.com/search?&p="+encodeURIComponent("China");
Quatro: Código
(Clique no sinal de mais para expandir)
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="servidor">
7 <title>Pesquisa</title>
8 <script linguagem="javascript" type="text/javascript">
9 // <!CDATA[
10
11 função GetEncodeOfKey()
12 {
13 var strKey = window.document.getElementById("Text_Key").value;
14 retorna encodeURIComponent(strKey);
15}
16
17 função GetUrl(site)
18 {
19 var encode=GetEncodeOfKey();
20
21 //web
22 if(document.getElementById("RadioButtonList_Kind_0").verificado)
vinte e três {
24 se(site=="google")
25 {
26 retorne " http://www.google.com/search?q="+encode+"&ei=UTF-8 ";
27}
28 mais
29 {
30 retorne " http://search.yahoo.com/search?p="+encode+"&ei=UTF-8 ";
31}
32}
33 //mp3
34 senão if(document.getElementById("RadioButtonList_Kind_1").checked)
35 {
36 se(site=="google")
37 {
38 return " http://www.google.com/search?q="+encode +" mp3"+"&ei=UTF-8";
39}
40 mais
41 {
42 retornar " http://audio.search.yahoo.com/search/audio?&p="+encode+"&ei=UTF-8 ";
43
44}
45}
46 //imagem
47 else if(document.getElementById("RadioButtonList_Kind_2").checked)
48 {
49 se(site=="google")
50 {
51 return " http://images.google.com/images?q="+encode+"&ei=UTF-8 ";
52}
53 mais
54 {
55 retornar " http://images.search.yahoo.com/search/images?p="+encode+"&ei=UTF-8 ";
56}
57}
58 mais
59 {
60 //alerta("erro");
61}
62
63
64}
65
66 função Button_Google_onclick()
67 {
68 window.open(GetUrl("google"));
69}
70
71 função Button_Yahoo_onclick()
72 {
73 window.open(GetUrl("yahoo"));
74}
75
76 // ]]>
77
78 </head>
79 <corpo>
80 <form id="form1" runat="servidor">
81
82
83<br />
84 <strong><span style="font-size: 24pt; color: #336633">Pesquisar<br />
85 </span></strong>
86
87 <hr style="posição: relativa" />
88<br />
89 <table style="esquerda: 0px; posição: relativa; topo: 0px">
90
91 <td style="largura: 31px; altura: 21px">
92 <span style="font-family: Terminal">Chave</span></td>
93 <td style="largura: 253px; altura: 21px">
94 <input id="Text_Key" style="largura: 248px; posição: relativa" type="text" /></td>
95 <td style="largura: 175px; altura: 21px">
96 <asp:RadioButtonList ID="RadioButtonList_Kind" runat="servidor" RepeatDirection="Horizontal"
97 Style="posição: relativa" Font-Names="terminal">
98 <asp:ListItem Selected="True">Web</asp:ListItem>
99 <asp:ListItem>Mp3</asp:ListItem>
100 <asp:ListItem>Imagem</asp:ListItem>
101 </asp:RadioButtonList></td>
102
103
104 <td style="largura: 31px">
105
106 <td colspan="2">
107 <input id="Button_Google" style="width: 80px; posição: relativo" type="button" value="Google" onclick="return Button_Google_onclick()" />
108
109 <input id="Button_Yahoo" style="left: -29px; largura: 104px; posição: relativa" type="button"
110 valor="Yahoo!" onclick="return Button_Yahoo_onclick()" /></td>
111
112 </tabela>
113
114 <hr style="posição: relativa" />
115 <asp:HyperLink ID="HyperLink_Home" runat="server" NavigateUrl="~/Default.aspx" Style="position: relativo">Home</asp:HyperLink></form>
116 </corpo>
117</html>
118