Hallo zusammen,
da ich hier viel Hilfe erfahren habe und gerade wieder oft die Topics find() bzw. Suche im Allgemeinen auftauchen dachte ich mir, ich poste mal meine Lösung für das Problem.
Das Code-Snippet anbei durchsucht einen Frame nach Links und spuckt dann in einem Inhaltsframe die entsprechenden Ergebnisse aus.
Ich hoffe mal dass das ein paar Suchenden weiterhilft,
lg, alex
---Schnipp
function indexsuche(str)
{
// Für Suche:
// Variablen für Suche und createLinkList
iLinkzahl= 2000;
vLinkListeLink= new Array(iLinkzahl);
vLinkListeText= new Array(iLinkzahl);
var sSuchsprache= parent.nav.window.location.href;
var sTmps= sSuchsprache.split("/");
var iTeile= sTmps.length;
var txt, i, found;
var iTreffer= -1;
var ikl = 0;
var iCountTreffer= 0;
sSuchsprache= sTmps[iTeile-2].substring(0,2);
iLinkzahl= parent.liste.document.links.length;
while(ikl < iLinkzahl)
{
vLinkListeLink[ikl]= parent.liste.document.links[ikl];
if (sBrowser == "M")
{
vLinkListeText[ikl]= parent.liste.document.links[ikl].name;
}
else if (sBrowser == "N" && iBrowser > 4)
{
vLinkListeText[ikl]= parent.liste.document.links[ikl].text;
}
else
{
alert("durchlauf" + ikl);
alert("anzahl links" + parent.liste.document.links.length);
//var sTemporaer= parent.liste.document.links[ikl].text;
var sTemporaer= top.frames['liste'].document.links[ikl].text;
alert("links text" + sTemporaer);
vLinkListeText[ikl]= sTemporaer;
alert("in variable geschriebener text" + vLinkListeText[ikl]);
}
ikl++;
}
if (str == "")
{
if(sSuchsprache == "de")
{
alert("Bitte Suchbegriff eingegeben!");
}
else if(sSuchsprache == "fr")
{
alert("SVP entrez un mot pour la cherche!");
}
else if(sSuchsprache == "it")
{
alert("Inserite il termine di ricerca!");
}
else if(sSuchsprache == "en")
{
alert("Please enter a word for search!");
}
}
else
{
var sSucherg= "\n<html> ";
sSucherg= sSucherg + "\n<head><title>Suchergebnisse für " + str + "</title> ";
sSucherg= sSucherg + "\n <style type="text/css">";
sSucherg= sSucherg + "\n.ueberschrift1 { font-family: Verdana, Arial, Helvetica, sans-serif; ";
sSucherg= sSucherg + "\ntext-transform: none; font-size: 18px; font-style: normal; line-height: normal;";
sSucherg= sSucherg + "\nfont-weight: bold; font-variant: normal; color: #333333}";
sSucherg= sSucherg + "\n.ueberschrift2 { font-family: Verdana, Arial, Helvetica, sans-serif; ";
sSucherg= sSucherg + "\n text-transform: none; font-size: 15px; font-style: normal; line-height: 20px; ";
sSucherg= sSucherg + "\n font-weight: bold; font-variant: normal; color: #333333}";
sSucherg= sSucherg + "\nbody {background-color: #FFFFFF;";
sSucherg= sSucherg + "\nscrollbar-face-color: white; //Schiebeleiste";
sSucherg= sSucherg + "\nscrollbar-shadow-color: white;";
sSucherg= sSucherg + "\nscrollbar-highlight-color: white; //Konturen";
sSucherg= sSucherg + "\nscrollbar-3dlight-color: white;";
sSucherg= sSucherg + "\nscrollbar-darkshadow-color: white; //Schatten rechts unten";
sSucherg= sSucherg + "\nscrollbar-track-color: white; //Leistenhintergrund";
sSucherg= sSucherg + "\nscrollbar-arrow-color: #14C832;}";
sSucherg= sSucherg + "\n.zelle { font-family: Verdana, Arial, Helvetica, sans-serif; ";
sSucherg= sSucherg + "\ntext-transform: none; font-size: 12px; color: #333333; font-style: normal; ";
sSucherg= sSucherg + "\nline-height: 17px; font-weight: normal; font-variant: normal; }";
sSucherg= sSucherg + "\na:link { color: #000099; text-decoration: none}";
sSucherg= sSucherg + "\na:visited { color: #000099; text-decoration: none}";
sSucherg= sSucherg + "\na:hover { color: #FF0000; text-decoration: underline}";
sSucherg= sSucherg + "\na:active { color: #FF0000; text-decoration: none}";
sSucherg= sSucherg + "\n.definition { font-family: Verdana, Arial, Helvetica, sans-serif; ";
sSucherg= sSucherg + "\ntext-transform: none; font-size: 12px; color: #333333; font-style: normal; ";
sSucherg= sSucherg + "\nline-height: 17px; font-weight: normal; font-variant: normal; ";
sSucherg= sSucherg + "\nbackground-color: #FFF2D9}";
sSucherg= sSucherg + "\nli { list-style-position: outside; list-style-type: disc; ";
sSucherg= sSucherg + "\nfont-family: Verdana, Arial, Helvetica, sans-serif; text-transform: none; ";
sSucherg= sSucherg + "\nfont-size: 12px; color: #333333; font-style: normal; line-height: 17px; ";
sSucherg= sSucherg + "\nfont-weight: normal; font-variant: normal; clip: rect( );}";
sSucherg= sSucherg + "\nul { list-style-type: disc; clip: rect( ); text-align: left}";
sSucherg= sSucherg + "\n</style>";
sSucherg= sSucherg + "\n</head> ";
sSucherg= sSucherg + "\n<body> <table border="0" width="100%" height="100%">";
sSucherg= sSucherg + "\n<tr>\n<td class="zelle" valign="top">";
sSucherg= sSucherg + "\n<span class="ueberschrift2">";
if(sSuchsprache == "de")
{
sSucherg= sSucherg + "\nIhre Suchergebnisse für <b>" + str + "</b>:<p>";
}
else if(sSuchsprache == "fr")
{
sSucherg= sSucherg + "\nResultats pour <b>" + str + "</b>:<p>";
}
else if(sSuchsprache == "it")
{
sSucherg= sSucherg + "\nRisultati per <b>" + str + "</b>:<p>";
}
else if(sSuchsprache == "en")
{
sSucherg= sSucherg + "\nResults for <b>" + str + "</b>:<p>";
}
sSucherg= sSucherg + "\n</span>";
sSucherg= sSucherg + "\n<ul> ";
//alert("Links: " + iLinkzahl);
//alert(vLinkListeText[3]);
i= 0;
while (i< iLinkzahl) //siehe weiter unten in createLinkListe
{
iTreffer= vLinkListeText[i].toLowerCase().indexOf(str.toLowerCase());
if (iTreffer != -1) //Treffer
{
//alert("Treffer an Position " + i + ":" + vLinkListeText[i] + "\n" + vLinkListeLink[i]);
iTreffer= -1;
var sTempstring= "\n<li><a href="" + vLinkListeLink[i]+"">" + vLinkListeText[i] + "</a></li> "
sSucherg= sSucherg + sTempstring;
iCountTreffer ++;
}
i++;
}
if (iCountTreffer!=0)
{
sSucherg= sSucherg + "\n</ul>";
}
else
{
if(sSuchsprache == "de")
{
sSucherg= sSucherg + "\nEs wurden keine Treffer für Ihre Suchanfrage gefunden.";
}
else if(sSuchsprache == "fr")
{
sSucherg= sSucherg + "\nAucun ne correspond aux termes de recherche spécifiés ";
}
else if(sSuchsprache == "it")
{
sSucherg= sSucherg + "\nNessun risultato.";
}
else if(sSuchsprache == "en")
{
sSucherg= sSucherg + "\nNo matches found.";
}
}
sSucherg= sSucherg + "\n<p> <a href="javascript:history.back()"><b>â</b></a>"
sSucherg= sSucherg + "\n</td>\n</tr>\n</table>\n</body>\n</html>";
parent.inhalt.document.open();
parent.inhalt.document.write(sSucherg);
parent.inhalt.document.close();
}
}