Hallo zusammen,
leider bin ich ein JS Neuling und habe ein Problem.
Ausgangssituation:
Ich integriere eine Offline Suchmaschine in einen Frameset:
-----------------
| Frame0 |
-----------------
| | |
|Fr1| Frame2 |
| | |
| | |
-----------------
Im Frame 0 habe ich ein Textinputfeld in das der Suchbergriff eingegeben wird. Im Frame 2 erscheinen die Suchergebnisse.
Frame 1 enthält ein Baummenü zur Navigation - auch js
Das ganze funktioniert so weit wunderbar, ich kann also die Suchergebnisse anklicken und die Zielseite erscheint im Frame2.
Das Problem ist nun, wenn ich auf den Back button vom Firefox klicke, erscheint im Frame 2 zwar wieder die Ergebnisliste, die Links sind aber nicht unterstrichen und beim anklicken passiert nichts. Der Textinput arbeitet auch nicht mehr. Nachdem ich über den Baum im Frame 1 einen Link anwähle, erscheint dieser wie gewohnt im Frame 2 und danach geht alles wieder. Sonderbarerweise klappts im IE in Firefox und Seamonkey aber nicht.
Hat jemand eine Idee, warum das nicht geht ?
Danke und Gruß
Rolf
Hier der Code: - die js-Indexdatei habe ich vorerst nicht angehängt.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>CD Inhalt</title>
<meta content="Rolf Jethon" name="author">
<script type="text/javascript" src=".menu/index.js"></script>
<script language="JavaScript">
<!-- Original: Dion (biab@iinet.net.au) - Modified by Rolf Jethon -->
<!-- Web Site: http://www.iinet.net.au/~biab -->
<!--
page="<html><head><title>Search Results</title></head><body bgcolor='white'><center><table border=0 cellspacing=10 width=80%>";
function search(frm) {
top.frames[2].document.write(page);
txt = frm.srchval.value.toLowerCase().split(" ");
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, n);
fnd[w] = 0;
}
top.frames[2].document.write("</table><br>Total found: "+total+"<br></body></html>");
top.frames[2].document.close();
}
function show(which,num) {
link = "<a href='"+item[which][1]+"'>"+item[which][4]+"</a>";
line = "<tr><td>"+link+" <b>"+item[which][0]+"</b> <i>Score: "+num+"</i> - Date:"+item[which][5]+"<br>";
line += item[which][3] + " <a href='"+item[which][1]+"'>"+item[which][1]+"</a></td></tr>";
top.frames[2].document.write(line);
return 1;
}
//-->
</script>
</head>
<body alink="#ee0000" bgcolor="#bd0000" link="#0000ee" text="#000000"
vlink="#551a8b">
<div align="left">
<table align="center" border="0" cellpadding="2" cellspacing="0"
width="100%">
<tbody>
<tr>
<td valign="top"><img alt="Logo" src=".resources/z.gif" align="left" height="37" width="155"></td>
<td valign="top">
<form method="get" action="javascript:void(1)" onsubmit="search(this);">
<input name="srchval" value="" type="text"><input value="Search" type="submit" target="list" >
<font face="Helvetica, Arial, sans-serif" size="-2">Search works only with activated Java Script!</font>
</form>
</td>
<td align="center" valign="top"> <font size="+2"> <b> <font color="#ffffff" face="Helvetica, Arial, sans-serif">
CD Inhalt </font> </b> </font><br>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>