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

Busca Na Propria Página (ctrl + F)


Lala

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0
Guest - grsitonio -

eu tenho aqui um js que vai uma busca por palavra-chave na página...tipo o Ctrl+F

<script>

<!-- Hide from old browsers

/******************************************

* Find In Page Script -- Submitted/revised by Alan Koontz (alankoontz@REMOVETHISyahoo.com)

* Visit Dynamic Drive (http://www.dynamicdrive.com/) for full source code

* This notice must stay intact for use

******************************************/

// revised by Alan Koontz -- May 2003

var TRange = null;

var dupeRange = null;

var TestRange = null;

var win = null;

// SELECTED BROWSER SNIFFER COMPONENTS DOCUMENTED AT

// http://www.mozilla.org/docs/web-developer/...owser_type.html

var nom = navigator.appName.toLowerCase();

var agt = navigator.userAgent.toLowerCase();

var is_major = parseInt(navigator.appVersion);

var is_minor = parseFloat(navigator.appVersion);

var is_ie = (agt.indexOf("msie") != -1);

var is_ie4up = (is_ie && (is_major >= 4));

var is_not_moz = (agt.indexOf('netscape')!=-1)

var is_nav = (nom.indexOf('netscape')!=-1);

var is_nav4 = (is_nav && (is_major == 4));

var is_mac = (agt.indexOf("mac")!=-1);

var is_gecko = (agt.indexOf('gecko') != -1);

var is_opera = (agt.indexOf("opera") != -1);

// GECKO REVISION

var is_rev=0

if (is_gecko) {

temp = agt.split("rv:")

is_rev = parseFloat(temp[1])

}

// USE THE FOLLOWING VARIABLE TO CONFIGURE FRAMES TO SEARCH

// (SELF OR CHILD FRAME)

// If you want to search another frame, change from "self" to

// the name of the target frame:

// e.g., var frametosearch = 'main'

//var frametosearch = 'main';

var frametosearch = self;

function search(whichform, whichframe) {

// TEST FOR IE5 FOR MAC (NO DOCUMENTATION)

if (is_ie4up && is_mac) return;

// TEST FOR NAV 6 (NO DOCUMENTATION)

if (is_gecko && (is_rev <1)) return;

// TEST FOR Opera (NO DOCUMENTATION)

if (is_opera) return;

// INITIALIZATIONS FOR FIND-IN-PAGE SEARCHES

if(whichform.findthis.value!=null && whichform.findthis.value!='') {

str = whichform.findthis.value;

win = whichframe;

var frameval=false;

if(win!=self)

{

frameval=true; // this will enable Nav7 to search child frame

win = parent.frames[whichframe];

}

}

else return; // i.e., no search string was entered

var strFound;

// NAVIGATOR 4 SPECIFIC CODE

if(is_nav4 && (is_minor < 5)) {

strFound=win.find(str); // case insensitive, forward search by default

// There are 3 arguments available:

// searchString: type string and it's the item to be searched

// caseSensitive: boolean -- is search case sensitive?

// backwards: boolean --should we also search backwards?

// strFound=win.find(str, false, false) is the explicit

// version of the above

// The Mac version of Nav4 has wrapAround, but

// cannot be specified in JS

}

// NAVIGATOR 7 and Mozilla rev 1+ SPECIFIC CODE (WILL NOT WORK WITH NAVIGATOR 6)

if (is_gecko && (is_rev >= 1)) {

if(frameval!=false) win.focus(); // force search in specified child frame

strFound=win.find(str, false, false, true, false, frameval, false);

// The following statement enables reversion of focus

// back to the search box after each search event

// allowing the user to press the ENTER key instead

// of clicking the search button to continue search.

// Note: tends to be buggy in Mozilla as of 1.3.1

// (see www.mozilla.org) so is excluded from users

// of that browser.

if (is_not_moz) whichform.findthis.focus();

// There are 7 arguments available:

// searchString: type string and it's the item to be searched

// caseSensitive: boolean -- is search case sensitive?

// backwards: boolean --should we also search backwards?

// wrapAround: boolean -- should we wrap the search?

// wholeWord: boolean: should we search only for whole words

// searchInFrames: boolean -- should we search in frames?

// showDialog: boolean -- should we show the Find Dialog?

}

if (is_ie4up) {

// EXPLORER-SPECIFIC CODE revised 5/21/03

if (TRange!=null) {

TestRange=win.document.body.createTextRange();

if (dupeRange.inRange(TestRange)) {

TRange.collapse(false);

strFound=TRange.findText(str);

if (strFound) {

//the following line added by Mike and Susan Keenan, 7 June 2003

win.document.body.scrollTop = win.document.body.scrollTop + TRange.offsetTop;

TRange.select();

}

}

else {

TRange=win.document.body.createTextRange();

TRange.collapse(false);

strFound=TRange.findText(str);

if (strFound) {

//the following line added by Mike and Susan Keenan, 7 June 2003

win.document.body.scrollTop = TRange.offsetTop;

TRange.select();

}

}

}

if (TRange==null || strFound==0) {

TRange=win.document.body.createTextRange();

dupeRange = TRange.duplicate();

strFound=TRange.findText(str);

if (strFound) {

//the following line added by Mike and Susan Keenan, 7 June 2003

win.document.body.scrollTop = TRange.offsetTop;

TRange.select();

}

}

}

if (!strFound) alert ("Inscrição n° ou Nome '"+str+"' não encontrado!") // string not found

}

// -->

</script>

<!-- EXAMPLE FORM OF FIND-IN-PAGE SEARCH USING SUBMIT (ALLOWING 'ENTER/RETURN' KEY PRESS EVENT) -->

<form name="form1" onSubmit="search(document.form1, frametosearch); return false">

<font color=red>Pesquisa automática por n&deg; de inscrição ou nome:</font><br />

<input type="text" name="findthis" size="15" style="FONT-FAMILY: tahoma, verdana; FONT-SIZE: 11px;"> <input type="submit" value="pesquisar" ACCESSKEY="s" style="FONT-FAMILY: tahoma, verdana; FONT-SIZE: 11px;"></form>

Abs,

Gabriel Sitônio

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,3k
×
×
  • Criar Novo...