|
Вопрос №3 по окнам в Js
Добрый день, уважаемые! Столкнулся я с такой проблемой (скрипт есть - знаний нет):
Внизу скрипт поиска на яве, при срабатывании открывается маленькое окно поиска со ссылками и если их нажимать, то страница открывается в этом же маленьком окне, а мне нужно, чтобы она открывалась в материнском, откуда поиск был вызван, желательно _blank. И еще, можно ли сделать, чтобы при переходе по ссылке маленькое окно поиска само собой закрывалось?
Заранее благодарен и если возможно, то исправьте это скрипт, вместо объяснений (я просмотрел этот раздел), как это сделать.
Спасибо.
var item = new Array();
c=0; item[c]=new Array("1.htm","","слово.","текст","раздел");
c++; item[c]=new Array("2.htm","","слово 2","текст 2","раздел");
function search(frm) {
win = window.open("","","width=500,height=400,resizable=yes,scrollbars=yes,s tatus=1");
txt = frm.searchtext.value.split(" ");
page="<html><head><title>Результат поиска "+txt+"</title>
<META content='text/html; charset=windows-1251' http-equiv=Content-Type>\n</head>\n
<BODY link=#2288DD aLink=#ff0000 vLink=#2288DD leftMargin=2 topMargin=0 MARGINHEIGHT=0 MARGINWIDTH=2>
<center><table border=0 cellspacing=10 width=80%>";
win.document.write(page);
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.document.write("<body bgcolor=#FFCC00></table><br><small>Всего найдено страниц :
<b>"+total+"</b> c словом <b><font color=red>"+txt+"</font><br> </body></html>");
win.document.close();
}
function show(which,wind,num) {
link = item[which][1] + item[which][0];
line = "<tr><td><small><a href='"+link+"'>"+item[which][2]+"</a><br>";
line += item[which][4] + "<br>"+link+"</td></tr>";
wind.document.write(line);
return 1;
}
|