JavaScript를 사용하여 검색 도구 모음 만들기
Zhou Yinhui No. 1, Class 03, School of Software, University of Electronic Science and Technology of China
: 최종 효과
2: 원리
Yahoo에서 "China"를 검색하면 브라우저의 주소 표시줄에 다음과 같은 주소 문자열이 표시됩니다. http://search.cn.yahoo.com/search?ei=gbk&fr=fp- 탭-웹 -ycn&meta=vl%
3Dlang_zh-CN%26vl%3Dlang_zh-TW&pid=ysearch&source=ysearch_www_hp_button
&p=%D6%D0%B9%FA&제출=
조금 지저분해 보이니 단순화해 보겠습니다. http://search.cn.yahoo.com/search?&p=%D6%D0%B9%FA
이것이 핵심입니다. 여기서 &p=%D6%D0%B9%FA는 검색의 키워드 매개변수이고 %D6%D0%B9%FA는 "중국"입니다.
URL 인코딩. 좋습니다. 그러한 인코딩을 구성할 수만 있다면 말이죠.
3: URL 인코딩
JavaScript의 encodeURIComponent() 함수는 인코딩 작업을 완료할 수 있습니다.
예를 들어, 위의 예에서는 "http://search.cn.yahoo.com/search?&p="+encodeURIComponent("China");를 사용하여 완료할 수 있습니다.
4: 코드
(확장하려면 더하기 기호를 클릭하세요.)
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="서버">
7 <title>검색</title>
8 <script 언어="javascript" type="text/javascript">
9 // <!CDATA[
10
11 함수 GetEncodeOfKey()
12 {
13 var strKey = window.document.getElementById("Text_Key").value;
14 return encodeURIComponent(strKey);
15}
16
17 함수 GetUrl(사이트)
18 {
19 var encode=GetEncodeOfKey();
20
21 //웹
22 if(document.getElementById("RadioButtonList_Kind_0").checked)
스물셋 {
24 if(site=="구글")
25 {
26 반환 " http://www.google.com/search?q="+encode+"&ei=UTF-8 ";
27}
그 외 28개
29 {
30 반환 " 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=="구글")
37 {
38 return " http://www.google.com/search?q="+encode +" mp3"+"&ei=UTF-8";
39 }
그 외 40개
41 {
42 반환 " http://audio.search.yahoo.com/search/audio?&p="+encode+"&ei=UTF-8 ";
43
44}
45 }
46 //이미지
47 else if(document.getElementById("RadioButtonList_Kind_2").checked)
48 {
49 if(site=="구글")
50 {
51 반환 " http://images.google.com/images?q="+encode+"&ei=UTF-8 ";
52 }
그 외 53개
54 {
55 반환 " http://images.search.yahoo.com/search/images?p="+encode+"&ei=UTF-8 ";
56 }
57 }
그 외 58개
59 {
60 //경고("err");
61 }
62
63
64}
65
66 함수 Button_Google_onclick()
67 {
68 window.open(GetUrl("google"));
69 }
70
71 함수 Button_Yahoo_onclick()
72 {
73 window.open(GetUrl("야후"));
74}
75
76 // ]]>
77 </스크립트>
78 </head>
79 <본문>
80 <form id="form1" runat="서버">
81 <div>
82 <br />
83 <br />
84 <strong><span style="font-size: 24pt; color: #336633">검색<br />
85 </span></strong>
86 </div>
87 <hr style="위치: 상대" />
88 <br />
89 <테이블 스타일="왼쪽: 0px; 위치: 상대; 위쪽: 0px">
90<tr>
91 <td style="너비: 31px; 높이: 21px">
92 <span style="font-family: Terminal">키</span></td>
93 <td style="너비: 253px; 높이: 21px">
94 <input id="Text_Key" style="너비: 248px; 위치: 상대" type="text" /></td>
95 <td style="너비: 175px; 높이: 21px">
96 <asp:RadioButtonList ID="RadioButtonList_Kind" runat="서버" RepeatDirection="수평"
97 스타일="위치: 상대" 글꼴 이름="터미널">
98 <asp:ListItem Selected="True">웹</asp:ListItem>
99 <asp:ListItem>Mp3</asp:ListItem>
100 <asp:ListItem>이미지</asp:ListItem>
101 </asp:RadioButtonList></td>
102 </tr>
103 <tr>
104 <td 스타일="너비: 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="왼쪽: -29px; 너비: 104px; 위치: 상대" type="버튼"
110 value="야후!" onclick="return Button_Yahoo_onclick()" /></td>
111 </tr>
112 </테이블>
113 <br />
114 <hr style="위치: 상대" />
115 <asp:HyperLink ID="HyperLink_Home" runat="server" NavigateUrl="~/Default.aspx" Style="position:relative">홈</asp:HyperLink></form>
116 </body>
117 </html>
118