Suchfunktion Javascript Modifizierung

leeloomi

Grünschnabel
Hallo Leute,
hier unter der Rubrik Scripte hab ich ein tolles Javascript für eine Suchfunktion auf der eigenen Homepage gefunden. Wenn man ein Suchwort eingibt, bekommt man in einem anderen Frame das Ergebnis als LInk zur passenden Seite geliefert.
Weiß jemand, wieweit man das Script verändern kann, um die Seite für das passende Suchwort selbst in den Frame hineinladen zu lassen und nicht als Link?



hier ist das script soweit, meine Kenntnisse reichen leider nicht aus.
Vielen Dank für jeden guten Tipp.
Gruß
Regy

function datensatz(pfad,suche,beschr,link,target)
{
this.pfad = pfad;
this.suche= suche;
this.beschr = beschr;
this.link = link;
this.target= target;
}; var daten=new Array();
/// Hier Datensätze anlegen ////
daten[daten.length]=new datensatz("Yahoo.de","Yahoo suchmaschine verzeichnis groß katalog","Yahoo war eine der ersten Suchmaschinen","http://www.yahoo.de","_new");
 
Ich wollte nicht zuviel posten, und das war halt der Inhalt der javascript Datei.

Da hab ich aber noch was entdeckt, du hattest Recht, meintest Du das was im Abspann folgt? Ich bin halt kein javascript Profi und dachte man kann es in dem Teil fixen, den ich zuerst geschickt hatte, sorry. Kannst Du damit etwas anfangen?
Gruß

Code:
function search (){
 var string=document.jump.suche.value;
 //erst doppelte Leerzeichen entfernen
 for (var i=0;i<=string.length;i++) {
  if (string.substring(i,i+2)=="  "){
   string=string.substring(0,i)+string.substring(i+1,string.length);
  };
 };
 if (string.substring(0,1)==" "){ // dann f&uuml;hrende Leerzeichen entfernen
  string=string.substring(1,string.length);
 };
 if (string.substring(string.length-1,string.length)==" "){ // u. Leerzeichen am Ende
  string=string.substring(0,string.length-1);
 };
 //--------------------------
 var druck="";
 var treffer=0;
 if(string==""){
   alert("Bitte Suchbegriff eingeben");
 }
 else{
   var i="";
   if(document.jump.vgle[0].checked==1){
     var qq=eval('/'+string+'/i');
     for(i=0;i<daten.length;i++){
        if(daten[i].suche.search(qq) != -1){
           druck=druck+'<a href="'+daten[i].link+'" '+linkStyle+' target="'+daten[i].target+'">'+daten[i].pfad+'</a><br><span '+textStyle+'>'+daten[i].beschr+'</span><br><br>\n';
           treffer++;
        };
     };
   }
   else if(document.jump.vgle[1].checked==1){
     var einzeln=new Array();
     einzeln=string.split(" ");
     var a="";
     var i="";
     var qq="";
     var zaehler="";
     for(i=0;i<daten.length;i++){
       zaehler=0;
       for (a=0;a<einzeln.length;a++){
          qq=eval('/'+einzeln[a]+'/i');
          if(daten[i].suche.search(qq) != -1){
            zaehler++;
          }
          else{
            break;
          };
          if(zaehler==einzeln.length){
            druck=druck+'<a href="'+daten[i].link+'" '+linkStyle+' target="'+daten[i].target+'">'+daten[i].pfad+'</a><br><span '+textStyle+'>'+daten[i].beschr+'</span><br><br>\n';
            treffer++;
          };
       };
     };
   }
   else if(document.jump.vgle[2].checked==1){
     var einzeln=new Array();
     einzeln=string.split(" ");
     var a="";
     var i="";
     var qq="";
     for(i=0;i<daten.length;i++){
       for (a=0;a<einzeln.length;a++){
          qq=eval('/'+einzeln[a]+'/i');
          if(daten[i].suche.search(qq) != -1){
            druck=druck+'<a href="'+daten[i].link+'" '+linkStyle+' target="'+daten[i].target+'">'+daten[i].pfad+'</a><br><span '+textStyle+'>'+daten[i].beschr+'</span><br><br>\n';
            treffer++;
            break;
          };
       };
     };
   };
   if(document.jump.vgle[1].checked==1){
      string=string.replace(/\s/g,"</u> UND <u>");
   };
   if(document.jump.vgle[2].checked==1){
      string=string.replace(/\s/g,"</u> ODER <u>");
   };
   parent.frames[frameName].document.open();
   parent.frames[frameName].document.write('<html><head><title></title>\n');
   parent.frames[frameName].document.write('</head><body>\n');
   if(druck!=""){
    var ergebnis='<b>'+treffer+'</b> Treffer zum Suchbegriff <u>'+string+'</u>:<br><br>\n'+druck;
    parent.frames[frameName].document.write('<span '+textStyle+'>'+ergebnis+'</span>');
   }
   else{
    parent.frames[frameName].document.write('<span '+textStyle+'><b>'+treffer+'</b> Treffer zum Suchbegriff <u>'+string+'</u></span>');
   };
   parent.frames[frameName].document.write('</body></html>\n');
   parent.frames[frameName].document.close();
 };
 return false;
};
//-->
</script>
 
Das Skript ist derzeit so aufgebaut, dass es mehrere Links ausgibt.
Öffnen kann man aber immer nur eine Seite im Frame.... was also soll passieren....wenn mehrere Suchergebnisse vorhanden sind?
 
Es werden oder sollen nicht mehrere Suchergebnisse vorhanden sein.
An welcher Stelle kann man das Script ändern, damit z.B. eine gefundene Seite geladen und nicht nur verlinkt wird?
 
Code:
druck=druck+'<a href="'+daten[i].link+'" '............usw.
Das ist die Stelle, wo der Text erzeugt wird(3 mal im Skript vorhanden)...dort könntest du die Seite im Frame durch daten[i].pfad austauschen lassen.
 

Neue Beiträge

Zurück