複数のサーチエンジンを使えるJavaScript

使い方

下のテキストフィールドにキーワード(二つ以上でもOK)を打ち込んで、どのサーチエンジンを使うかを選んで(ラジオボタンの一つを押す)、ボタンを押すとそのサーチエンジンからの検索結果が表示される。

Search words
Altavista
Yahoo
Infoseek
Yahoo ( Japan )
ftp search (software)

ソースコード

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>
Search
</TITLE>
<LINK REL = STYLESHEET TYPE = "text/css" HREF = "../style.css" TITLE = "Default css">
<SCRIPT LANGUAGE = "JavaScript">
<!--
engine = new Array();
engine[0] = "http://www.altavista.digital.com/cgi-bin/query?pg=q&what=web&fmt=.&q="
engine[1] = "http://av.yahoo.com/bin/search?p="
engine[2] = "http://guide-p.infoseek.com/Titles?qt="
engine[3] = "http://search.yahoo.co.jp/bin/search?p="
engine[4] = "http://ftpsearch.ntnu.no/ftpsearch?doit=Search&type=Case+insensitive+substring+search&hits=50&matches=&hitsprmatch=&limdom=&limpath=&f1=Count&f2=Mode&f3=Size&f4=Date&f5=Host&f6=Path&header=none&sort=none&trlen=20&query="
function search()
{
	num = -1;
	for(i = 0; i < document.sform.url.length; i++)
	{
		if(document.sform.url[i].checked == true)
		{
			num = i;
		}
	}
	str = search_str(document.sform.query.value);
	if(str == "")
	{
		alert("null strings");
	}
	else if(num >= 0)
	{
		self.location = engine[num] + str;
	}
	else
	{
		alert("choice a search engine");
	}
}
function search_str(s)
{
	str = "";
	for(i = 0; i < s.length; i++)
	{
		ch = s.substring(i, i+1);
		if(ch == '"')
		{
			str += "%22";
		}
		else if(ch == " ")
		{
			str += "+";
		}
		else
		{
			str += ch;
		}
	}
	return str;
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME = "sform">
Search words
<INPUT TYPE = "text" NAME = "query" SIZE = 20 VALUE = "">
<BR>
<INPUT TYPE = "radio" NAME = "url" >Altavista
<BR>
<INPUT TYPE = "radio" NAME = "url" >Yahoo
<BR>
<INPUT TYPE = "radio" NAME = "url" >Infoseek
<BR>
<INPUT TYPE = "radio" NAME = "url" >Yahoo ( Japan )
<BR>
<INPUT TYPE = "radio" NAME = "url" >ftp search (software)
<P>
<CENTER>
<INPUT TYPE = "button" VALUE = "start search" onClick = "search()">
</CENTER>
</FORM>
</BODY>
</HTML>

index | home
abe@injapan.net