One:최종 효과
Two:원리
Yahoo에서 "China"를 검색하면, 그러면 브라우저의 주소 표시줄에 다음과 같은 주소 문자열이 표시됩니다: 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 인코딩. 좋습니다. 그러한 인코딩을 구성할 수만 있다면 말이죠.
3: URL 인코딩
JavaScript의 encodeURIComponent() 함수를 사용하면 인코딩 작업을 완료할 수 있습니다.
예를 들어 위의 예에서는 "http://search.cn.yahoo.com/search?&p="+encodeURIComponent("China");를 사용하여 완료할 수 있습니다.
4:코드
(더하기 기호를 클릭하면 확장됩니다)
코드는 다음과 같습니다.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Search.aspx.cs" Inherits="Search" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Search</title> <script language="javascript" type="text/javascript"> // <!CDATA[ function GetEncodeOfKey() { var strKey = window.document.getElementById("Text_Key").value; return encodeURIComponent(strKey); } function GetUrl(site) { var encode=GetEncodeOfKey(); //web if(document.getElementById("RadioButtonList_Kind_0").checked) { if(site=="google") { return "http://www.google.com/search?q="+encode+"&ei=UTF-8"; } else { return "http://search.yahoo.com/search?p="+encode+"&ei=UTF-8"; } } //mp3 else if(document.getElementById("RadioButtonList_Kind_1").checked) { if(site=="google") { return "http://www.google.com/search?q="+encode+" mp3"+"&ei=UTF-8"; } else { return "http://audio.search.yahoo.com/search/audio?&p="+encode+"&ei=UTF-8"; } } //img else if(document.getElementById("RadioButtonList_Kind_2").checked) { if(site=="google") { return "http://images.google.com/images?q="+encode+"&ei=UTF-8"; } else { return "http://images.search.yahoo.com/search/images?p="+encode+"&ei=UTF-8"; } } else { //alert("err"); } } function Button_Google_onclick() { window.open(GetUrl("google")); } function Button_Yahoo_onclick() { window.open(GetUrl("yahoo")); } // ]]> </script> </head> <body> <form id="form1" runat="server"> <p> <br /> <br /> <strong><span style="font-size: 24pt; color: #336633">Search<br /> </span></strong> </p> <hr style="position: relative" /> <br /> <table style="left: 0px; position: relative; top: 0px"> <tr> <td style="width: 31px; height: 21px"> <span style="font-family: Terminal">Key</span></td> <td style="width: 253px; height: 21px"> <input id="Text_Key" style="width: 248px; position: relative" type="text" /></td> <td style="width: 175px; height: 21px"> <asp:RadioButtonList ID="RadioButtonList_Kind" runat="server" RepeatDirection="Horizontal" Style="position: relative" Font-Names="terminal"> <asp:ListItem Selected="True">Web</asp:ListItem> <asp:ListItem>Mp3</asp:ListItem> <asp:ListItem>Image</asp:ListItem> </asp:RadioButtonList></td> </tr> <tr> <td style="width: 31px"> </td> <td colspan="2"> <input id="Button_Google" style="width: 80px; position: relative" type="button" value="Google" onclick="return Button_Google_onclick()" /> <input id="Button_Yahoo" style="left: -29px; width: 104px; position: relative" type="button" value="Yahoo!" onclick="return Button_Yahoo_onclick()" /></td> </table> <br /> <hr style="position: relative" /> <asp:HyperLink ID="HyperLink_Home" runat="server" NavigateUrl="~/Default.aspx" Style="position: relative">Home</asp:HyperLink></form> </body> </html>
[관련 추천]
2. JavaScript 모션 프레임워크의 다중 값 이동에 대한 자세한 소개(4)
3. JavaScript 모션 프레임워크 여러 객체의 임의 값 이동을 위한 샘플 코드 공유(3)
4. JavaScript 모션 프레임워크가 흔들림 방지 문제 및 정지 커플릿을 해결하는 방법(2)
5. JavaScript 모션 프레임워크에서 양수 및 음수 속도 반올림 문제를 해결하는 방법 (1)
위 내용은 자바스크립트를 통한 검색 툴바 구현의 상세 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!