Ir para conteúdo
Fórum Script Brasil
  • 0

Traduzir...


Gladisson

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0

Então vamos lá, não é grande, só um pouquinho:

<div style="width: 5; height: 30">
<center><a NAME="00"></a></center>
<center><table CELLSPACING=0 CELLPADDING=6 WIDTH="570" >
<tr>
<td>
<center>

<form method="GET"><b><font face="Verdana">

<font size=-1><b>Digite o assunto:</b></font>

<input type="text" name="query" size="25">

<input type="submit" value="Buscar">

</form>


</td>
</tr>
<tr>
<td HEIGHT="5" BGCOLOR="#CC0000"></td>
</tr>
</table></center>
</div>

<div style="width: 570; height: 39">&nbsp;
<center><table CELLSPACING=0 WIDTH="570" >
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">

<script language="">
function kw_list ()
{
this.keywords = new Array ();
this.num_words = 0;
this.query = "";
this.original_query = "";
this.query_length = 0;
this.possible_points = 0;
this.multiple = points_title + points_keywords + points_description;
this.get_words = get_query;
this.no_query = no_query_found;
}
function get_query ()
{
this.query = top.location.search.substring (top.location.search.indexOf ('=') + 1);
while ((the_plus = (this.query.indexOf ("+", 0))) != -1)
{
this.query_length = this.query.length;
this.query = this.query.substring (0, the_plus) + " " + this.query.substring (the_plus + 1);
}
this.original_query = unescape (this.query);
this.query = this.original_query.toLowerCase ();
this.query_length = this.query.length; 
if (this.query != "")
{
var query_pointer = 0;
var end_word = 0;
var at_end = 0;
while ((this.num_words <= (max_keywords - 1)) && (! at_end))
{
end_word = this.query.indexOf (" ", query_pointer);
if (end_word == query_pointer)
query_pointer++;
else
{
if (end_word >= (this.query_length - 1))
at_end = 1;
if (end_word != -1)
this.keywords[this.num_words] = (this.query.substring (query_pointer, end_word)).toLowerCase ();
else
{
this.keywords[this.num_words] = this.query.substring (query_pointer, this.query_length);
at_end = 1;
}
this.num_words++;
if (query_pointer != -1)
query_pointer = end_word + 1;
if (query_pointer > (this.query_length - 1))
at_end = 1;
}
}
if (this.num_words == 0)
return (0);
else
{
this.possible_points = this.multiple * this.num_words;
return (1);
}
}
else
return (0);
}
function no_query_found ()
{
document.writeln ('<CENTER><P>Melhor Script em JS de Busca que já vi.<BR><BR>O único problema que acho é se caso tiver 1000 tópicos cadastrado para efetivação da busca vai ficar muito lento para abrir a página.<BR><BR>Digite contato, cifras, pra teste.</P></CENTER>');
}
function entry (url, title, keywords, description)
{
this.url = url;
this.title = title;
this.keywords = keywords;
this.description = description;
this.points = 0;
this.search_entry = find_keyword;
this.print_entry = print_result;
}
function find_keyword (the_word)
{
var the_title = this.title.toLowerCase ();
var the_keywords = this.keywords.toLowerCase ();
var the_description = this.description.toLowerCase ();
if ((the_title.indexOf (the_word)) != -1)
this.points += points_title;
if ((the_keywords.indexOf (the_word)) != -1)
this.points += points_keywords;
if ((the_description.indexOf (the_word)) != -1)
this.points += points_description;
}
function print_result (possible_points)
{
document.writeln ('<A HREF="' + this.url + '"">' + this.title + '</A> - ' + this.description + '<br>');
}
function no_entry_printed (the_query)
{
document.writeln ("<CENTER><P> Não há ocorrência da palavra <U><B>" + the_query + "</B></U>.</P></CENTER>"); 
}
function print_intro (the_query)
{
document.writeln ("<CENTER><P>Os resultados da pesquisa por <U><B>" + the_query + "</B></U> são:</P></CENTER>"); 
}
function begin_search ()
{
var key_list = new kw_list;
var entry_printed = 0;
if (! key_list.get_words ())
key_list.no_query ();
else
{
var counter = 0;
var counter2 = 0;
for (counter = 0; counter < entry_num; counter++)
for (counter2 = 0; counter2 <= (key_list.num_words - 1); counter2++)
the_entries[counter].search_entry (key_list.keywords[counter2]);
for (counter = key_list.possible_points; counter > 0; counter--)
{ 
for (counter2 = 0; counter2 < entry_num; counter2++)
{
if (counter == the_entries[counter2].points)
{
if (entry_printed != 1)
{
entry_printed = 1;
print_intro (key_list.original_query);
}
the_entries[counter2].print_entry (key_list.possible_points);
}
}
}
if (! entry_printed)
no_entry_printed (key_list.original_query);
}
}
the_entries = new Array ();


the_entries[0] = new entry ("paginas.php?canais=cifras", "CIFRAS", "Cifras, partitura", "Cifras de todo mundo, se faltar algum pode reclamar.<br>");
the_entries[1] = new entry ("paginas.php?canais=contato", "CONTATO", "contato, webmaster, reclamação, site", "Entre em contato direito com o webmaster.<br>");


var entry_num = 1;
var max_keywords = 30;
var points_title = 2;
var points_keywords = 2;
var points_description = 1;

begin_search ();

</script>

</td>
</tr>
</table></center>
</div>

O código, pequenininho né. :D

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...