| JavaScript DataBase ¿¹Á¦ 1 | Go to UP |
<html>
<head>
<script language="javascript">
function setDbArray() {
var dbArg = setDbArray.arguments
this.subject = dbArg[0]
this.explain = dbArg[1]
this.keyword = dbArg[2]
this.date = dbArg[3]
}
function setDataBase() {
var setDbArg = setDataBase.arguments;
DB[totalDbLength] = new setDbArray(setDbArg[0], setDbArg[1], setDbArg[2], setDbArg[3]);
totalDbLength++;
}
var totalDbLength=0; //Àüü ÀúÀå Ç׸ñÀÇ °¹¼ö¸¦ ÆÇ´ÜÇÔ.
var quryString=""; //ÀÔ·Â ÆäÀÌÁö¿¡¼ ÀÔ·ÂÇÑ ¹®ÀÚ. °á°ú ÆäÀÌÁö¿¡¼ »ç¿ëÇÔ.
DB = new Array();
setDataBase("<a href='http://a.b.com/first.htm'>ù¹øÀç DB ÆäÀÌÁö</a>",
"ù¹øÂ° DBÆäÀÌÁö ÀÔ´Ï´Ù.",
"ù¹øÂ°, DB",
"1998³â 09¿ù04ÀÏ"
);
setDataBase("<a href='http://a.b.com/second.htm'>µÎ¹øÂ° DB ÆäÀÌÁö</a>",
"µÎ¹øÂ° DBÆäÀÌÁö ÀÔ´Ï´Ù.",
"µÎ¹øÂ°, DB",
"1998³â 09¿ù04ÀÏ"
);
</script>
</head>
<frameset rows="90%,*" border=0>
<frame src="resultWin.htm" name="resultWin">
<frame src="inputWin.htm" name="inputWin">
</frameset>
</html>
¿©±â¼ °¢ ÆäÀÌÁöÀÇ Á¤º¸´Â "Á¦¸ñ", "ÆäÀÌÁö¼³¸í", "°Ë»ö¾î", "¸¸µç ³¯Â¥" ·Î 4°¡ÁöÀÇ ÇÏÀ§ Á¤º¸¸¦ °¡Áö´Â
¹è¿·Î ¸¸µé¾ú½À´Ï´Ù. ±×·¯¹Ç·Î °¢ Á¤º¸¸¦ setDataBase()¿¡ ³Ö¾îÁÙ ¶§, 4°¡Áö¸¦ ´Ù ³Ö¾î ÁÖ¾î¾ß ÇÕ´Ï´Ù.
»¡°£»öÀÇ Äڵ尡 °¢ ¹è¿¿¡¼ 4°¡ÁöÀÇ Á¤º¸¸¦ ÀúÀåÇÕ´Ï´Ù.
°¢ ÆäÀÌÁöÀÇ Á¤º¸¿¡¼ ÆäÀÌÁöÀÇ URL¿¡ Àý´ë °æ·Î¸¦ ÁöÁ¤Çß½À´Ï´Ù. À̰÷µµ °ü¸®¸¦ ¿°µÎ¿¡ µÎ¾ú½À´Ï´Ù.
»ó´ë °æ·Î¸¦ ÁöÁ¤ÇÏ¸é ³ªÁß¿¡ Data Á¤º¸¸¦ ÀúÀåÇÑ ÆäÀÌÁö¸¦ ¿Å±æ·Á¸é ÀÏÀÏÀÌ ¸ðµç data ¿¡ °æ·Î¸¦ ¹Ù²Ù¾î
ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¾Æ¸¶ ´Ù½Ã ¸¸µå´Â°Ô ³ªÀ»°Ì´Ï´Ù. °¢ ÆäÀÌÁöÀÇ URLÀ» Àý´ë°æ·Î·Î ÁöÁ¤Çϸé À§ÀÇ ¼Ò½º¸¦ °¡Áø
ÆäÀÌÁö¸¦ ¾Æ¹«µ¥³ª ¿Å±æ¼ö ÀÖ½À´Ï´Ù. ¾ÆÁÖ ÆíÇÏÁÒ..
»ç¿ëÀÚ°¡ °Ë»ö¾î¸¦ ÀÔ·ÂÇÏ´Â inputWin.htm ÆäÀÌÁöÀÔ´Ï´Ù.
<html><head><title>ÆäÀÌÁö °Ë»ö ÀԷ±â</title></head>
<script language="JavaScript">
<!--
function korOrEng(qury) {
var korOrEng="kor"
var alpabet = new Array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
// À§ÀÇ ÁÙÀº ÇÑ ÁÙÀÔ´Ï´Ù.
for(var i=0; i < alpabet.length; i++) {
if( qury.indexOf(alpabet[i]) != -1 ) {
korOrEng = "eng"
break;
}
}
if ( (navigator.appName.indexOf("Netscape") != -1) && korOrEng == "kor")
korOrEng = 3;
else korOrEng = 2
return korOrEng
}
function goSearch(qury) {
if( (qury.length < korOrEng(qury))
|| (qury.indexOf(",") != -1)
|| (qury.indexOf(".") != -1)
|| (qury.indexOf(" ") != -1)
) {
document.qury.text.value="°Ë»ö¾î°¡ ºÎÀûÇÕ ÇÕ´Ï´Ù."
document.qury.text.focus();
document.qury.text.select();
return
}
parent.quryString = qury
parent.resultWin.location.href = "resultWin.htm?dummy";
}
//-->
</script>
<body>
<form name="qury" onSubmit="goSearch(this.text.value); return false">
<input type=text name="text"">
<input type=button onClick="goSearch(this.form.text.value)" value="°Ë»ö">
<input type=button onClick="parent.resultWin.location.href='resultWin.htm'" value="°Ë»ö°á°ú ÆäÀÌÁö">
</form>
</body>
</html>
Æû¿¡ °Ë»ö¾î¸¦ ÀÔ·ÂÇϰí "°Ë»ö" ´ÜÃ߸¦ ´©¸£°Å³ª ¹Ù·Î ¿£ÅÍÇϸé goSearch(°Ë»ö¾î)·Î °©´Ï´Ù.
°Ë»ö¾î·Î ÇѱÛÀ̳ª ¿µ¹®ÀÌ 1°³ÀÇ ±ÛÀÚÀÌ¸é °Ë»öÀ» ÇÏÁö¾Ê°í ½°Ç¥(,), ¸¶Ä§Ç¥(.), °ø¹é(" ") ÀÏ °æ¿ì¿¡µµ °Ë»öÀ»
ÇÏÁö¾Ê½À´Ï´Ù. °¢ Á¤º¸ÀÇ ÇÏÀ§ Á¤º¸ÀÎ subject, explain, keyword, date¿¡´Â ½°Ç¥(,), ¸¶Ä§Ç¥(.), °ø¹é(" ") ¹®ÀÚ°¡
´Ù µé¾îÀÖ½À´Ï´Ù. ±×·¡¼ °Ë»ö°á°ú°¡ ³Ê¹« ¸¹ÀÌ ³ª¿Ã¼ö ÀÖ½À´Ï´Ù. ¸¹Àº data¸¦ °¡Áö°í ÀÖ´Â ÆäÀÌÁö¿¡¼ À̵é
¾ÆÁÖ ÈçÇÑ ±ÛÀÚ´Â °á°ú Ãâ·Â ½Ã°£ÀÌ ¸¹ÀÌ °É¸³´Ï´Ù. ÀÌ Ã³¸®¸¦ »ç¿ëÀÚ°¡ Áß´ÜÇÒ ¼öµµ ¾ø½À´Ï´Ù. JavaScriptÀÇ Ã³¸®´Â
»ç¿ëÀÚ°¡ Áß´ÜÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ÀÌ·± ¸¹Àº °á°ú°¡ ³ª¿À´Â ¹®ÀÚµéÀº °Ë»ö¾î·Î ÀÔ·ÂÇÏ´Â °ÍÀ» ¸·¾Æ¾ß ÇÕ´Ï´Ù.
ÇѱÛ, ¿µ¹® 1±ÛÀÚµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù.
ieÀÇ °æ¿ì Çѱ۵µ ¿µ¾î¿Í °°ÀÌ ¹®ÀÚÀÇ ±æÀ̰¡ 1·Î ³ª¿É´Ï´Ù. ¹Ý¸é¿¡ nnÀº ÇѱÛÀº 2ÀÔ´Ï´Ù.
alert("¾È³ç".length)
´Â ie·Î ÀÐÀ¸¸é 2À̰í nnÀ¸·Î ÀÐÀ¸¸é 4ÀÔ´Ï´Ù. ±×·¡¼, °Ë»ö¾î·Î ÀÔ·ÂÇÑ ±ÛÀÚ°¡ ÇѱÛÀÎÁö ¿µ¾îÀÎÁö ieÀÎÁö nnÀÎÁö
korOrEng(qury)·Î ±¸ºÐÀ» ÇÏ¿© ÁöÁ¤ÇØ ÁÝ´Ï´Ù.
nn¿¡¼ ¿µ¾î°¡ ¾ø´Â °Ë»ö¹®ÀÚ´Â ¸ðµÎ Çѱ۷Πº¸°í Á¦ÇÑ ±æÀ̸¦ 3À¸·Î ÁöÁ¤ÇÕ´Ï´Ù. ie´Â ±æÀ̰¡ °°±â ¶§¹®¿¡
È®ÀÎÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. nn¿¡¼ ¿µ¾î°¡ ¾ø´Â °Ë»ö¾î´Â ¸ðµÎ Çѱ۷Πº¸°í Á¦ÇѱæÀ̸¦ 3 ÀÌÇÏ·Î ÁöÁ¤ÇÕ´Ï´Ù.
ÇÑ±Û 2±ÛÀÚ ÀÌ»óÀÎ 4 ÀÌ»óÀÇ ±æÀ̸¦ °¡Áö´Â °Ë»ö¾î¸¸ °Ë»öµË´Ï´Ù. Çѱ۰ú ¿µ¾î¸¦ µ¿½Ã¿¡ ÀÔ·ÂÇØµµ °°½À´Ï´Ù.
resultWin.htm ÆäÀÌÁöÀÔ´Ï´Ù.
<html><head><title>ÆäÀÌÁö °Ë»ö °á°ú ÆäÀÌÁö</title>
<script language="JavaScript">
<!--
function pipeChar(total, output, input) {
var totalLen = total.length;
var inputLen = input.length;
var outputLen = output.length;
var i = 0, flag, end = "";
while( i < totalLen ) {
flag = total.indexOf(output, i);
if(flag != -1) {
end += total.substring(i, flag);
end += input;
i = outputLen+flag;
}
else break;
}
end += total.substring(i, totalLen);
return end
}
function dbProp(page, qury) {
if( (page.explain.indexOf(qury) != -1) || (page.keyword.indexOf(qury) != -1) )
return true;
return false;
}
function search(qury) {
if( !qury ) {
document.write( "<table border=0 width='70%' cellpadding=5><tr><td>");
document.write( "DHTML¿¡ °ü°èµÈ ÆäÀÌÁö¸¦ °Ë»öÇÕ´Ï´Ù. ...");
document.write( "</td></tr></table>");
return
}
var findCount=0; // (1)
var db = parent.DB // (2)
for(var i=0; i < db.length; i++) {
if( dbProp(db[i], qury) ) {
document.write( "<table border=0 width='70%'>");
document.write( "<tr><td colspan=2>" + db[i].subject + "</td></tr>" );
document.write( "<tr><td width='20%'>ÆäÀÌÁö¾È³»</td>");
document.write( "<td>" + pipeChar(db[i].explain, qury, ("<font color='red'>" + qury + "</font>")) + "<td></tr>");
document.write( "<tr><td width='20%'>°Ë»ö¾î</td>");
document.write( "<td>" + pipeChar(db[i].keyword, qury, ("<font color='red'>" + qury + "</font>")) + "</td></tr>");
document.write( "<tr><td width='20%'>ÀÛ¼ºÀÏ</td><td>" + db[i].date +"</td></tr>");
document.write( "</table><br>");
findCount++
}
}
if( findCount ) {
document.write( "¹ß°ßÇÑ ¹®¼ °¹¼ö´Â "+ findCount + "°³ ÀÔ´Ï´Ù.")
}
else {
document.write("<table width='50%'><tr><td>ãÀº ¹®¼°¡ ¾ø½À´Ï´Ù. ´Ù¸¥ °Ë»ö¾î¸¦ »ç¿ëÇØ º¸¼¼¿ä</td></tr></table>");
}
}
//-->
</script>
</head>
<body>
<center>
<table border=5><tr><td bgcolor="#cecebd">°Ë»ö °á°ú ÆäÀÌÁö</td></tr></table>
</center>
<center><script>search(parent.quryString)</script></center>
</body>
</html>
<script>search(parent.quryString)</script>·Î °Ë»ö¾î¸¦
ÀÔ·ÂÇÏ´Â ÆäÀÌÁö¿¡¼ ÀúÀåÇØ ³õÀº °Ë»ö¾î¸¦ °Ë»öÇÔ¼ö search()¿¡ º¸³»¾î °Ë»öÀ» ½ÃÀÛÇÕ´Ï´Ù.