Searching for text
Question: How do I search for a particular text string on the page?
Answer:
In Netscape Navigator 4.x, to search for a string use the
window.find(string)
method; see also Find Dialog.
In Internet Explorer 4.x and newer, create a text range object
(TRange
in the example below)
and use the method
TRange.findText(string)
.
Example: The following script gets a text string from the user
and then finds and highlights this string on the page.
This example has been created using the following code:
<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">
</form>
<script language="JavaScript">
<!--
var TRange=null
function findString (str) {
if (parseInt(navigator.appVersion)<4) return;
var strFound;
if (navigator.appName=="Netscape") {
// NAVIGATOR-SPECIFIC CODE
strFound=self.find(str);
if (!strFound) {
strFound=self.find(str,0,1)
while (self.find(str,0,1)) continue
}
}
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()
}
}
if (!strFound) alert ("String '"+str+"' not found!")
}
//-->
</script>
JavaScripter.net.
Copyright
© 1999-2006, Alexei Kourbatov