การใช้ JavaScript เพื่อสร้างแถบเครื่องมือค้นหา
Zhou Yinhui No. 1, Class 03, School of Software, University of Electronic Science and Technology of China
: ผลลัพธ์สุดท้าย
2: หลักการ
หากคุณค้นหา "China" ใน Yahoo คุณจะได้รับสตริงที่อยู่เช่นนี้ในแถบที่อยู่ของเบราว์เซอร์: 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 ตกลง ตราบใดที่เราสามารถสร้างการเข้ารหัสดังกล่าวได้
สาม: การเข้ารหัส URL
ฟังก์ชัน encodeURIComponent() ของ JavaScript ช่วยให้การเข้ารหัสเสร็จสมบูรณ์ได้
ตัวอย่างเช่น ในตัวอย่างข้างต้น เราสามารถใช้ "http://search.cn.yahoo.com/search?&p="+encodeURIComponent("China");
สี่: รหัส
(คลิกเครื่องหมายบวกเพื่อขยาย)
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 <หัว runat="เซิร์ฟเวอร์">
7 <title>ค้นหา</title>
8 <script language="javascript" type="text/javascript">
9 // <!ซีดีดาต้า[
10
11 ฟังก์ชั่น GetEncodeOfKey()
12 {
13 var strKey = window.document.getElementById("Text_Key").value;
14 ส่งคืน encodeURIComponent (strKey);
15}
16
17 ฟังก์ชั่น GetUrl (ไซต์)
18 {
19 var encode=GetEncodeOfKey();
20
21 //เว็บ
22 if(document.getElementById("RadioButtonList_Kind_0").ตรวจสอบแล้ว)
ยี่สิบสาม {
24 ถ้า(ไซต์=="google")
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 อื่น ๆ if(document.getElementById("RadioButtonList_Kind_1").ตรวจสอบ)
35 {
36 ถ้า(ไซต์=="google")
37 {
38 กลับ " 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 //img
47 อื่น ๆ if(document.getElementById("RadioButtonList_Kind_2").ตรวจสอบ)
48 {
49 ถ้า(ไซต์=="google")
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 //alert("ผิดพลาด");
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("yahoo"));
74}
75
76 // ]]>
77 </สคริปต์>
78 </หัว>
79 <ร่างกาย>
80 <form id="form1" runat="server">
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 <table style="left: 0px; ตำแหน่ง: สัมพันธ์; ด้านบน: 0px">
90 <tr>
91 <td style="width: 31px; height: 21px">
92 <span style="font-family: Terminal">คีย์</span></td>
93 <td style="width: 253px; height: 21px">
94 <input id="Text_Key" style="width: 248px; ตำแหน่ง: สัมพันธ์" type="text" /></td>
95 <td style="width: 175px; height: 21px">
96 <asp:RadioButtonList ID = "RadioButtonList_Kind" runat = "เซิร์ฟเวอร์" RepeatDirection = "แนวนอน"
97 Style="position:relative" Font-Names="terminal">
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 style="width: 31px">
105 </td>
106 <td colspan="2">
107 <input id="Button_Google" style="width: 80px; ตำแหน่ง: สัมพันธ์" type="button" value="Google" onclick="return Button_Google_onclick()" />
108
109 <input id="Button_Yahoo" style="left: -29px; width: 104px; ตำแหน่ง: ญาติ" type="button"
110 ค่า = "Yahoo!" 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 </ร่างกาย>
117 </html>
118