2009-05-13 7 views

Répondre

4

Voici un exemple avec le code de Searching for Text In Page. Il effectue essentiellement l'équivalent de faire un Trouver avec CTRL + F dans dans le navigateur. Si vous utilisez la bibliothèque jQuery, vous pouvez utiliser le Search-Highlight Plugin pour surligner le texte de la même manière que la recherche Google.

<html> 
<head> 
<script language="JavaScript"> 
<!-- 
var TRange=null; 
function findString (str) { 
if (parseInt(navigator.appVersion)<4) return; 
var strFound; 
if (window.find) { 

    // CODE FOR BROWSERS THAT SUPPORT window.find 
    strFound=self.find(str); 
    if (strFound && self.getSelection && !self.getSelection().anchorNode) { 
    strFound=self.find(str) 
    } 
    if (!strFound) { 
    strFound=self.find(str,0,1) 
    while (self.find(str,0,1)) continue 
    } 
} 
else if (navigator.appName.indexOf("Microsoft")!=-1) { 

    // EXPLORER-SPECIFIC CODE 

    if (TRange!=null) { 
    TRange.collapse(false) 
    strFound=TRange.findText(str) 
    if (strFound) TRange.select() 
    } 
    if (TRange==null || strFound==0) { 
    TRange=self.document.body.createTextRange() 
    strFound=TRange.findText(str) 
    if (strFound) TRange.select() 
    } 
} 
else if (navigator.appName=="Opera") { 
    alert ("Opera browsers not supported, sorry...") 
    return; 
} 
if (!strFound) alert ("String '"+str+"' not found!") 
return; 
} 
//--> 
</script> 
</head> 
<body> 
<form name="f1" action="" 
    onSubmit="if(this.t1.value!=null && this.t1.value!='') findString(this.t1.value);return false"> 
    <input type="text" name=t1 value="" size=20> 
    <input type="submit" name=b1 value="Find"> 
    <p>This is some sample text.</p> 
</form> 
</body> 
</html> 
0
<form id=f1 name="f1" action="" 
onSubmit="if(this.t1.value!=null && this.t1.value!='') 
findString(this.t1.value);return false" 
> 
<input type="text" id=t1 name=t1size=20> 
<input type="submit" name=b1 value="Find"> 
</form> 
<script> 
var TRange=null; 

function findString (str) { 
if (parseInt(navigator.appVersion)<4) return; 
var strFound; 
if (window.find) { 

    // CODE FOR BROWSERS THAT SUPPORT window.find 

    strFound=self.find(str); 
    if (!strFound) { 
    strFound=self.find(str,0,1); 
    while (self.find(str,0,1)) continue; 
    } 
} 
else if (navigator.appName.indexOf("Microsoft")!=-1) { 

    // EXPLORER-SPECIFIC CODE 

    if (TRange!=null) { 
    TRange.collapse(false); 
    strFound=TRange.findText(str); 
    if (strFound) TRange.select(); 
    } 
    if (TRange==null || strFound==0) { 
    TRange=self.document.body.createTextRange(); 
    strFound=TRange.findText(str); 
    if (strFound) TRange.select(); 
    } 
} 
else if (navigator.appName=="Opera") { 
    alert ("Opera browsers not supported, sorry...") 
    return; 
} 
if (!strFound) alert ("String '"+str+"' not found!") 
return; 
} 
</script> 
Questions connexes