Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2

Thread: JS Search

  1. #1
    Banned
    Join Date
    Jun 2002
    Location
    Australia
    Posts
    22
    Thanks
    0
    Thanked 0 Times in 0 Posts

    JS Search

    I am modifing a search engine made in JS.

    This is my current code:

    <HTML>
    <HEAD>
    <TITLE> Search Engine </TITLE>
    <script>

    if (location.search){
    var vals=location.search.substr(1).split("&");
    for (var i in vals) {
    vals[i] = vals[i].replace(/\+/g, " ").split("=");
    vals[i][0] = unescape(vals[i][0]);
    vals[i][1] = unescape(vals[i][1]);
    if (vals[i][0]=="keywords"){
    keyword = vals[i][1] = unescape(vals[i][1]);
    alert(keyword)
    }
    }
    }

    <!--// This Script was created by Satadip Dutta.
    // Email: sat_dutta@post1.com / satadipd@inf.com
    // URL:http://dutta.home.ml.org
    // EDITED FOR WINLINE BY: Tim Groeneveld
    // Version 1.1-IExp
    // Please honor my hard work, if you use a variant of this in your page,
    // then please email me and keep these comments in the Script.
    // This code is Copyright (c) 1997 Satadip Dutta
    // all rights reserved.
    // License is granted to user to reuse this code on their own Web site
    // if, and only if, this entire copyright notice is included. The Web Site
    // containing this script must be a not-for-profit ( non-commercial ) web site.
    // Exclusive written permission must be obtained before using this version of the search engine
    //-->

    <!-- End copyright - This must be retained and posted as is to use this script -->

    title = new Object();
    desc = new Object();
    links= new Object();
    matched= new Object();
    keywords= new Object();
    found= new Object();
    var temp=0;
    // actual location or the item to be searched
    // description of he location
    // actual link
    // percentage match found
    // keywords as parsed from the input
    // # of titles present in the database
    title[0]=15
    //no of keywords after parsing
    keywords[0]=0
    //no of matches found.
    found[0]=0

    <!-- Begin List of Searchable Items -->

    <!--put the list of the links and descriptions here!!-->

    title[1]="Yahoo!"
    desc[1]="Viset Yahoo. The most popular 'mix' Page"
    links[1]="http://www.yahoo.com"
    matched[1]=0

    title[2]="Microsoft"
    desc[2]="Visit Microsoft, The makers of WINDOWS and Office"
    links[2]="http://www.microsoft.com"
    matched[2]=0

    title[3]="Javascriptkit"
    desc[3]="Visit WINLINE's 'javaward's winner 2 Years running"
    links[3]="http://javascriptkit.com"
    matched[3]=0

    title[4]="event handler onClick onLoad onMouseover onMouseout onUnload"
    desc[4]="Understanding Event Handlers in JavaScript"
    links[4]="http://www.javascriptkit.com/event.htm"
    matched[4]=0


    title[5]="MP3.Com"
    desc[5]="Download free MP3's from popular artists"
    links[5]="http://www.mp3.com"
    matched[5]=0

    title[6]="Making Movies"
    desc[6]="American Alien's Resource for Young Filmmakers"
    links[6]="http://www.americanalien.net/MakingMovies.html"
    matched[6]=0

    title[7]="popupsponsor.com/"
    desc[7]="Get a Pop-Up Sponser"
    links[7]="http://www.popupsponsor.com/"
    matched[7]=0

    title[8]="Andrews Lyrics"
    desc[8]="The best place for finding lyrics"
    links[8]="http://www.geocities.com/andrews_lyrics/"
    matched[8]=0

    title[9]="Welcome to 2mogi.com webmail"
    desc[9]="Visit to get free Mail!"
    links[9]="http://2mogi.com"
    matched[9]=0

    title[10]="Yahoo! Mail"
    desc[10]="Yahoo's Free WebMail Service"
    links[10]="http://mail.yahoo.com"
    matched[10]=0

    title[11]="hotpop: pop3"
    desc[11]="Easy setup and works ok - and that is more than you can expect with most free email services."
    links[11]="http://www.HotPOP.com"
    matched[11]=0

    title[12]="free downloads center"
    desc[12]="offers antivirus, business, educational, fax, and much more"
    links[12]="http://www.freedownloadscenter.com"
    matched[12]=0

    title[13]="CRCA Christian Reformed Churches of Australia"
    desc[13]="Visit for sermons, webmail and more!"
    links[13]="http://www.crca.org.au/"
    matched[13]=0

    title[14]="Yahoo!"
    desc[14]="Viset Yahoo. The most popular 'mix' Page"
    links[14]="http://www.yahoo.com"
    matched[14]=0

    title[15]="Yahoo!"
    desc[15]="Viset Yahoo. The most popular 'mix' Page"
    links[15]="http://www.yahoo.com"
    matched[15]=0

    <!-- End list of Searchable items -->

    function search(){
    var skeyword=document.searchengine.keywords.value.toLowerCase();
    var check=1;
    var pos=0;
    var i=0;
    var j=0;
    var itemp=0;
    var config='';

    while (true)
    {
    if (skeyword.indexOf("+") == -1 )
    {
    keywords[check]=skeyword;
    break;
    }
    pos=skeyword.indexOf("+");
    if (skeyword !="+")
    {
    keywords[check]=skeyword.substring(0,pos);
    check++;
    }
    else
    {
    check--;
    break;
    }
    skeyword=skeyword.substring(pos+1, skeyword.length);
    if (skeyword.length ==0)
    {
    check--;
    break;
    }

    }
    // the keywords have been put in keywords object.
    keywords[0]=check;

    // matching and storing the matches in matched
    for ( i=1; i<=keywords[0];i++)
    {
    for (j=1;j<=title[0];j++)
    {
    if (title[j].toLowerCase().indexOf(keywords[i]) > -1 )
    {
    matched[j]++;
    }
    }
    }
    // putting all the indexes of the matched records in found

    for (i=1;i<=title[0];i++)
    {
    if (matched[i] > 0 )
    {
    found[0]++;
    // increment the found
    found[found[0]]=i;

    }
    }



    for (i=1;i<=found[0]-1;i++)
    {
    for(j=i+1;j<=found[0];j++)
    {
    if ( matched[found[i]]< matched[found[j]] )
    {
    temp= found[j];
    found[j]=found[i];
    found[i]=temp;
    }
    }
    }

    // end of sort

    output = self;
    output.document.write('<html>');
    output.document.write('<head>');
    output.document.write('<script>');
    output.document.write('window.onerror=new Function("return true")');
    output.document.write('<\/script>');
    output.document.write('<title> Search Results </title>');
    output.document.write('</head>');
    output.document.write('<BODY bgcolor=#ffffff text=#000000 link=#990099 vlink =#339966 >');
    output.document.write('<center> <h1> Search Results </h1></center>');
    output.document.write('<hr>');
    output.document.write(' The Keyword(s) you searched :: '.big() )
    for (i=1; i<=keywords[0]; i++)
    {
    output.document.write( keywords[i].bold() +" ");
    }
    output.document.write('<br>');

    if (found[0]==0)
    {
    //alert(found[0]);
    output.document.write('<hr>');
    output.document.write("<b>No matches resulted in this search </b> <br>");
    }
    else
    {
    // data has been found
    output.document.write(" <hr> <b> The Results of the search are : </b> ");
    output.document.write( found[0] +" Entries found ".italics());
    output.document.write("<table border=1 width=100%>");
    for (i=1; i<=found[0];i++)
    {
    output.document.write("<tr><td valign=top bgcolor=#9999ff>");
    output.document.write("<h3>" +i +"</h3>");
    output.document.write("<td valign=top>");
    itemp=found[i];
    output.document.write(desc[itemp].bold() +"<br>" +
    links[itemp].link(links[itemp])+"<br>");
    temp= (matched[itemp]/keywords[0])*100
    output.document.write("<i> Matched with keywords :: " +temp+" % </i>" );
    matched[itemp]=0
    }
    found[0]=0;
    output.document.write("</table>");
    }


    document.write("<form name='searchengine' onSubmit='search()'>");
    document.write("Keywords: <input type = text name ='keywords' value='"+skeyword+"' maxlength=40>");
    document.write("<input type = submit name='go' Value='SEARCH' onClick='search()'>");
    document.write("<br><hr></form>");
    document.write ("</body></html>");
    output.document.close();
    }
    </script>

    </HEAD>
    <BODY BGCOLOR=white TEXT=black LINK=#0000FF VLINK=#6600AA ALINK=#6600AA>

    <center>
    <H1>Search Engine</H1>
    </center>


    <form name="searchengine" onSubmit="search()">
    <center>
    Keywords:
    <input type = text name ="keywords" value="" maxlength=40>
    <input type = submit name="go" Value="SEARCH" onClick="search()">
    <br>
    <hr>
    </center>
    </form>

    </BODY>
    </HTML>






    I need to make it so when you make a search, you can re search after. Thank you

    E.G. http://google.yahoo.com/bin/query?p=...m%22&hc=0&hs=0

  • #2
    Senior Coder
    Join Date
    Jun 2002
    Location
    frankfurt, german banana republic
    Posts
    1,848
    Thanks
    0
    Thanked 0 Times in 0 Posts
    You can't modify this script to work exactly as a serverside search engine, it only goes through the title object and searches upon each of its entries according to the keywords you entered in the form.


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •