ホームページ > 記事 > ウェブフロントエンド > JavaScript を使用して検索ツールバーを実装する詳細な例
1: 最終的な効果
2: 原則
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エンコードです。そのようなエンコーディングを構築できれば問題ありません。
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)
以上がJavaScript を使用して検索ツールバーを実装する詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。