Ik heb een klein probleem met het wegschrijven van output naar een frame.
pagina bestaat uit 3 frames:
1 aan de linkerkant
2 aan de rechter kant (een topframe en een content, genaamd banknet_right)
Nu heb ik een javascript die een soort van zoekmachine op de site is, echter de output gooit hij nu in een nieuwe window.
Ik heb geprobeerd "win"te vervangen door parent.banknet_right, echter rijg niets in het betreffende frame behalve de variable page wordt goed weggezet (resulteerd in een pagina met grijze achtergrondkleur) daarna niets meer.
[script]
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var item = new Array();
/* Hier begint het script.
Type gewoon zoveel mogelijk pagina's in die
op uw zoek lijstje voor moeten komen,
daarbij ook alle bij behoorende zaken.
*/
// "Pagina naam","path","Pagina Titel","erg,veel,zoek,woorden","Een omschrijving van de site"
c=0; item[c]=new Array("index.html","../index.html","index","home,main,updates","Beginpagina van de site.");
c++; item[c]=new Array("logo.jpg","main/images/","Plaatjes","link,image,logo,graphic","Ook een map naar je plaatjes kan hiemee.");
page="<html><head><base target=banknet_right></base><title>Search Result</title></head><body bgcolor='EBEBEB' link='0F3A68' vlink='0F3A68' alink='0F3A68'><center><table border=0 cellspacing=10 width=80%><FONT FACE='Verdana' Size='1' color=black>";
function search(frm) {
win = window.open("","","scrollbars");
win.document.write(page);
txt = frm.srchval.value.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, win, n);
fnd[w] = 0;
}
win.document.write("</table><FONT FACE=verdana size=1 color=black>Totaal gevonden: "+total+"</FONT></body></html>");
win.document.close();
}
function show(which,wind,num) {
link = item[which][1] + item[which][0];
line = "<tr><td><FONT FACE=verdana size=1><a href='"+link+"'>"+item[which][2]+"</a> Score: "+num+" ";
line += item[which][4] + ""+link+"<FONT></td></tr>";
wind.document.write(line);
return 1;
}
// End -->
</script>
[/script]
Kan iemand me hlpen?
pagina bestaat uit 3 frames:
1 aan de linkerkant
2 aan de rechter kant (een topframe en een content, genaamd banknet_right)
Nu heb ik een javascript die een soort van zoekmachine op de site is, echter de output gooit hij nu in een nieuwe window.
Ik heb geprobeerd "win"te vervangen door parent.banknet_right, echter rijg niets in het betreffende frame behalve de variable page wordt goed weggezet (resulteerd in een pagina met grijze achtergrondkleur) daarna niets meer.
[script]
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var item = new Array();
/* Hier begint het script.
Type gewoon zoveel mogelijk pagina's in die
op uw zoek lijstje voor moeten komen,
daarbij ook alle bij behoorende zaken.
*/
// "Pagina naam","path","Pagina Titel","erg,veel,zoek,woorden","Een omschrijving van de site"
c=0; item[c]=new Array("index.html","../index.html","index","home,main,updates","Beginpagina van de site.");
c++; item[c]=new Array("logo.jpg","main/images/","Plaatjes","link,image,logo,graphic","Ook een map naar je plaatjes kan hiemee.");
page="<html><head><base target=banknet_right></base><title>Search Result</title></head><body bgcolor='EBEBEB' link='0F3A68' vlink='0F3A68' alink='0F3A68'><center><table border=0 cellspacing=10 width=80%><FONT FACE='Verdana' Size='1' color=black>";
function search(frm) {
win = window.open("","","scrollbars");
win.document.write(page);
txt = frm.srchval.value.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, win, n);
fnd[w] = 0;
}
win.document.write("</table><FONT FACE=verdana size=1 color=black>Totaal gevonden: "+total+"</FONT></body></html>");
win.document.close();
}
function show(which,wind,num) {
link = item[which][1] + item[which][0];
line = "<tr><td><FONT FACE=verdana size=1><a href='"+link+"'>"+item[which][2]+"</a> Score: "+num+" ";
line += item[which][4] + ""+link+"<FONT></td></tr>";
wind.document.write(line);
return 1;
}
// End -->
</script>
[/script]
Kan iemand me hlpen?