Avatar billede title-mj Nybegynder
28. april 2004 - 16:32 Der er 4 kommentarer og
1 løsning

søgemaskine script! lavet om

jeg har en søgemaskine på min hp, ikke en google eller lign.
en der kun søger på min side.
problemet er, at når man klikker på "search" hvises  resultatet
i et nyt browser vindue.
Det som jeg gerne ville have, er at resultatet hvises i min IFRAME, og ikke i et nyt browser vindue.

Koden er:

Search.js:
----------

MsgBox=null;

function skrivMsg(text) {
    MsgBox.document.write(text);
}

function isWindow(){
    if(MsgBox!=null){
        if(!MsgBox.closed){
            MsgBox.close();
        }
    }
}

function checkDatabase() {
    var Found=false;
    var itemFound=false;
    var Item=document.forms[0].SearchForm.value.toLowerCase();
    var Str="";
    var nrFound=0;
    stats='toolbar=no,location=no,directories=no,status=no,menubar=no,'+
            'height=600,width=500,scrollbars=yes,resizable=yes';
    isWindow();
    MsgBox=window.open("","msgWindow",stats);
    MsgBox.opener=window;
    MsgBox.opener.name="opener";
    if (Item!="") {
        for(i in Keywords){
            Keyword=Keywords[i].split("|");
            itemFound=false;
            for(j in Keyword){
                if((!itemFound)&&((Keyword[j].indexOf(Item))>=0)){
                    Found=true;
                    itemFound=true;
                    nrFound++;
                    Str+=("<FONT FACE=Verdana SIZE=3><B>"+Descrip[i]+"</B></FONT><BR>"+
                            "<FONT FACE=verdana SIZE=2>Found items:<FONT COLOR=FFA800> ");
                    for(h in Keyword) {
                        if((Keyword[h].indexOf(Item))>=0){
                            Start=Keyword[h].indexOf(Item);
                            Mid=Keyword[h].indexOf(Item)+Item.length;
                            Str+=(Keyword[h].slice(0,Start));
                            Str+=("<B>"+Keyword[h].slice(Start,Mid)+"</B>");
                            Str+=(Keyword[h].substr(Mid)+" ");
                        }
                    }
                    Str+=("<BR><BR><A HREF="+Address[i]+" TARGET=opener><FONT COLOR=FFA800>"+Address[i]+"</FONT></A></FONT><P>");
                }
            }
        }
    }
    skrivMsg('<HTML><HEAD><TITLE>Search results</TITLE></HEAD><BODY bgcolor="efefef">'+
                '<B><FONT FACE=verdana SIZE=4 color=ffa800>Search results</FONT></B><P>'+
                '<FONT FACE=verdana SIZE=2>Search: "'+Item+'"<BR>'+
                'Found <font color=ffa800>'+nrFound+'</font> out of <font color=ffa800>'+Keywords.length+'</font> all items.'+
                '</FONT><HR>');
    skrivMsg(Str);
    if(!Found){
        skrivMsg('<H1><CENTER>Nothing found</CENTER></H1>');
    }
    skrivMsg('<HR><FORM ACTION="java script:self.close()" NAME="Close">'+
                '<A HREF="java script:window.self.close()"><FONT COLOR=FFA800 FACE=VERDANA SIZE=2>Close Window</FONT></A>'+
                '</INPUT></FORM><style type="text/css">a:link {text-decoration: none;}a:visited {text-decoration: none;}a:hover {text-decoration: none;}</style></BODY></HTML>');


}
Avatar billede title-mj Nybegynder
28. april 2004 - 16:51 #1
Index.html Koden er:
--------------------

<html>
<head>
<title>index</title>


<META NAME="Generator" CONTENT="Stone's WebWriter 3">
<SCRIPT TYPE="text/javascript" SRC="scripts/data.js"></SCRIPT>
<SCRIPT TYPE="text/javascript" SRC="scripts/search.js"></SCRIPT>
</head>
<body>



<table width="80%"  border="1" cellspacing="0" cellpadding="0" align="center">
<tr>
<FORM ACTION="java script:checkDatabase()" METHOD="POST" NAME="Search">
<td align="left">
<INPUT VALUE="Type in your text" SIZE="20" NAME="SearchForm" ONSUBMIT="checkDatabase()"
ONFOCUS="if(this.value=='Type in your text')this.value='';" ONBLUR="if(this.value=='')this.value='Type in your text';">
<INPUT type="button" VALUE="Search" NAME="submit" ONCLICK="checkDatabase()">
</td>
</FORM>
</TR>
</TABLE>
</body>
</html>
Avatar billede title-mj Nybegynder
28. april 2004 - 16:54 #2
data.js koden er:
------------------

// Tabeldefinitioner NIX PILLE !!!!
Keywords=new Array(); // Tabel med søgeord adskilt med '|'
Descrip=new Array();    // Tabel med en kort beskrivelse af det fundne
Address=new Array();    // Tabel med linket til det fundne

// Indhold i søgeregisteret angives herunder
Keywords[0]="handelsskole|roskilde|datamatiker|uddannelse|rhs";
Descrip[0]="Roskilde HandelsSkole, RHS";
Address[0]="http://www.rhs.dk";

Keywords[1]="builder|javascript|html|css|stylesheets";
Descrip[1]="Online hjælp til kodningen";
Address[1]="http://www.builder.dk";

Keywords[2]="tog|rejser|billeter";
Descrip[2]="DSB Togrejser";
Address[2]="http://www.dsb.dk";

Keywords[3]="internet|design|web-sider|unikt|unikke|code4u|kode4u|";
Descrip[3]="Code4U - Udvikling og design af unikke web-sider";
Address[3]="http://www.code4u.dk";
Avatar billede roenving Novice
28. april 2004 - 20:27 #3
Egentlig sendt 16:40, men E* nægtede at modtage på det tidspunkt !-)

Erstat indholdet af Search.js med dette, men bemærk lige, at du skal skrive navnet på din iframe ind i den markerede linje !-)

MsgBox=null;

function skrivMsg(text) {
    MsgBox.document.write(text);
}
function checkDatabase() {
    var Found=false;
    var itemFound=false;
    var Item=document.forms[0].SearchForm.value.toLowerCase();
    var Str="";
    var nrFound=0;
    MsgBox=window.IFRAMENAME;//Bemærk at du her skal sætte navnet på iframen
    if (Item!="") {
        for(i in Keywords){
            Keyword=Keywords[i].split("|");
            itemFound=false;
            for(j in Keyword){
                if((!itemFound)&&((Keyword[j].indexOf(Item))>=0)){
                    Found=true;
                    itemFound=true;
                    nrFound++;
                    Str+=("<FONT FACE=Verdana SIZE=3><B>"+Descrip[i]+"</B></FONT><BR>"+
                            "<FONT FACE=verdana SIZE=2>Found items:<FONT COLOR=FFA800> ");
                    for(h in Keyword) {
                        if((Keyword[h].indexOf(Item))>=0){
                            Start=Keyword[h].indexOf(Item);
                            Mid=Keyword[h].indexOf(Item)+Item.length;
                            Str+=(Keyword[h].slice(0,Start));
                            Str+=("<B>"+Keyword[h].slice(Start,Mid)+"</B>");
                            Str+=(Keyword[h].substr(Mid)+" ");
                        }
                    }
                    Str+="<BR><BR><A HREF="+Address[i]+" TARGET='"+MsgBox.name+"'><FONT COLOR=FFA800>"+Address[i]+"</FONT></A></FONT><P>";
                }
            }
        }
    }
    Str = '<HTML><HEAD><style type="text/css">a:link {text-decoration: none;}a:visited {text-decoration: none;}a:hover {text-decoration: none;}</style><TITLE>Search results</TITLE></HEAD><BODY bgcolor="efefef">'+
                '<B><FONT FACE=verdana SIZE=4 color=ffa800>Search results</FONT></B><P>'+
                '<FONT FACE=verdana SIZE=2>Search: "'+Item+'"<BR>'+
                'Found <font color=ffa800>'+nrFound+'</font> out of <font color=ffa800>'+Keywords.length+'</font> all items.'+
                '</FONT><HR>'+Str;
    if(!Found){
        Str+='<H1><CENTER>Nothing found</CENTER></H1>';
    }
    skrivMsg(Str+'<HR><FORM ACTION="java script:self.close()" NAME="Close">'+
                '<A HREF="java script:self.close()"><FONT COLOR=FFA800 FACE=VERDANA SIZE=2>Close Window</FONT></A>'+
                '</INPUT></FORM></BODY></HTML>');
}

-- og det er ganske utestet !-)
Avatar billede title-mj Nybegynder
28. april 2004 - 22:03 #4
tak
Avatar billede roenving Novice
28. april 2004 - 22:30 #5
Øeh ...

Hvorfor tager du dine point selv ?-|
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester