win = window.open("","namn på ramen","scrollbars");
Jag hittade lösningen själv men genast tillkom nästa problem. Jag skulle vilja att sökresultatets länkar skall öppnas i en tredje ram. Hur går jag till väga?
/Stefan
6 svar · 543 visningar · startad av acke35
Jag hittade koden till denna "interna" sökmotor på nätet. Jag är bara en glad amatör som skulle vilja använda den men problemet är att sökresultaten öppnas i ett nytt fönster medans jag vill att den skall öppnas i en frame. Vilken ändring behöver göras?
<head>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var item = new Array();
c=0; item[c]=new Array("sångsvan.html","","Sångsvan","Sångsvan,Cygnus cygnus","");
c++; item[c]=new Array("knölsvan.htm","","Knölsvan","Knölsvan,Cygnus olor","");
page="<html><head><title>Sökresultat</title></head><body bgcolor='white'>";
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 = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd *+= (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("<br>Sökresultat: "+total+"<br></body></html>");
win.document.close();
}
function show(which,wind,num) {
link = item[which][1] + item[which][0];
line = "<a href='"+link+"'>"+item[which][2]+"</a><br>";
wind.document.write(line);
return 1;
}
// End -->
</script>
</head>
<body>
<form method=get action="javascript:void(0)" onsubmit="search(this); return false;">
<tr><td><input type=text name=srchval value=""><input type=submit value="Sök art"></td></tr>
</form>
</body>
/Stefan***
win = window.open("","namn på ramen","scrollbars");
Jag hittade lösningen själv men genast tillkom nästa problem. Jag skulle vilja att sökresultatets länkar skall öppnas i en tredje ram. Hur går jag till väga?
/Stefan
sätt en target på dina länkar du skapar, dock så förstå jag inte varför du vill göra detta i iframes, du kan ju skriva html texten i ett DOM objekt direkt på sidan....
Är som sagt en glad amatör utan någon som helst skolning i javascript så det mesta är för mig rena grekiskan men jag försökte sätta target i följande rad, enkel lösning trodde jag:
line = "<a href='"+link+"' target="ramens namn">"+item[which][2]+"</a><br>";
Men det svaldes ej. Vart menar du att jag skall sätta target?
Jag menar inte iframes utan frameset.
Mvh Stefan
line = '<a href="'+link+'" target="ramens namn">'+item[which][2]+'</a><br>';
Kanon, glöm inte att sätta tråden som löst: http://www.webforum.nu/faq.php?faq=vb_faq#faq_faq_acceptance