//============================================== //function : fnSearch() //comment : set the flag to the next textrange //param : none //return : none //author : Fantiny //Date : 10/21/2005 //============================================== function fnNext(){ if (intCount > 0 && intCount < intTotalCount){ intCount = intCount + 1; } else{ intCount = 1 ; } }
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <SCRIPT LANGUAGE="JavaScript"> var oRange; // save the current textrange var intCount = 0; // this pos of current textrange in the total count var intTotalCount = 0; // total count <!-- //============================================== //function : fnSearch() //comment : Search the text //param : none //return : none //author : Fantiny //Date : 10/21/2005 //============================================== function fnSearch() { var strBeReplaced; var strReplace; fnNext(); oRange = document.body.createTextRange(); //Create a textRange for the Textarea strBeReplaced = "will be"; // Find the text by findtext method for (i=1; oRange.findText(strBeReplaced)!=false; i++) { if(i == intCount){ oRange.select(); // select the finded text oRange.scrollIntoView(); // scroll the page and set the text Into View break; } oRange.collapse(false); // } }//============================================== //function : init() //comment : initialize at page onload to get the count //param : none //return : none //author : Fantiny //Date : 10/21/2005 //============================================== function init(){ var oRange ; var strBeRepalced; oRange = document.body.createTextRange(); //Create a textRange for the Textarea strBeReplaced = "will be"; for (i=0; oRange.findText(strBeReplaced)!=false; i++) { oRange.collapse(false); // Moves the insertion point to the end of the text range. } intTotalCount = i ;}//============================================== //function : fnReplace() //comment : replace the text of the selected textrange //param : none //return : none //author : Fantiny //Date : 10/21/2005 //============================================== function fnReplace(){ var strReplace;
strReplace = "has been"; // if the textrange is exist, replace the text if(oRange!= null && typeof(oRange)=="object" && intTotalCount > 0){ oRange.text = strReplace; intCount = intCount - 1; intTotalCount = intTotalCount - 1; oRange = null; } } //============================================== //function : fnSearch() //comment : set the flag to the next textrange //param : none //return : none //author : Fantiny //Date : 10/21/2005 //============================================== function fnNext(){ if (intCount > 0 && intCount < intTotalCount){ intCount = intCount + 1; } else{ intCount = 1 ; } } //--> </SCRIPT> </HEAD> <BODY onload="init()"> this is the original text, and this is the string will be repalced. this is the original text, and this is the string will be repalced. this is the original text, and this is the string will be repalced. this is the original text, and this is the string will be repalced. this is the original text, and this is the string will be repalced. this is the original text, and this is the string will be repalced. <input type="button" value="search" onclick="fnSearch()"> <input type="button" value="Replace" onclick="fnReplace()"> <input type="button" value="count" onclick="alert(intTotalCount)"> </BODY> </HTML>
//function : fnSearch()
//comment : set the flag to the next textrange
//param : none
//return : none
//author : Fantiny
//Date : 10/21/2005
//==============================================
function fnNext(){ if (intCount > 0 && intCount < intTotalCount){
intCount = intCount + 1;
}
else{
intCount = 1 ;
}
}
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
var oRange; // save the current textrange
var intCount = 0; // this pos of current textrange in the total count
var intTotalCount = 0; // total count
<!--
//==============================================
//function : fnSearch()
//comment : Search the text
//param : none
//return : none
//author : Fantiny
//Date : 10/21/2005
//==============================================
function fnSearch() { var strBeReplaced;
var strReplace; fnNext(); oRange = document.body.createTextRange(); //Create a textRange for the Textarea
strBeReplaced = "will be"; // Find the text by findtext method
for (i=1; oRange.findText(strBeReplaced)!=false; i++) {
if(i == intCount){
oRange.select(); // select the finded text
oRange.scrollIntoView(); // scroll the page and set the text Into View
break;
}
oRange.collapse(false); //
}
}//==============================================
//function : init()
//comment : initialize at page onload to get the count
//param : none
//return : none
//author : Fantiny
//Date : 10/21/2005
//==============================================
function init(){ var oRange ;
var strBeRepalced; oRange = document.body.createTextRange(); //Create a textRange for the Textarea
strBeReplaced = "will be"; for (i=0; oRange.findText(strBeReplaced)!=false; i++) {
oRange.collapse(false); // Moves the insertion point to the end of the text range.
} intTotalCount = i ;}//==============================================
//function : fnReplace()
//comment : replace the text of the selected textrange
//param : none
//return : none
//author : Fantiny
//Date : 10/21/2005
//==============================================
function fnReplace(){ var strReplace;
strReplace = "has been"; // if the textrange is exist, replace the text
if(oRange!= null && typeof(oRange)=="object" && intTotalCount > 0){
oRange.text = strReplace;
intCount = intCount - 1;
intTotalCount = intTotalCount - 1;
oRange = null;
}
}
//==============================================
//function : fnSearch()
//comment : set the flag to the next textrange
//param : none
//return : none
//author : Fantiny
//Date : 10/21/2005
//==============================================
function fnNext(){ if (intCount > 0 && intCount < intTotalCount){
intCount = intCount + 1;
}
else{
intCount = 1 ;
}
}
//-->
</SCRIPT>
</HEAD>
<BODY onload="init()">
this is the original text, and this is the string will be repalced.
this is the original text, and this is the string will be repalced.
this is the original text, and this is the string will be repalced.
this is the original text, and this is the string will be repalced.
this is the original text, and this is the string will be repalced.
this is the original text, and this is the string will be repalced.
<input type="button" value="search" onclick="fnSearch()">
<input type="button" value="Replace" onclick="fnReplace()">
<input type="button" value="count" onclick="alert(intTotalCount)">
</BODY>
</HTML>
//<![CDATA[
function foo() {
var rng = document.body.createTextRange();
rng.findText('blog.never-online.net',10000,0);
rng.select();
rng.scrollIntoView(true);
rng.moveStart("character");
alert('left: ' +rng.boundingLeft);
alert('top: ' +rng.boundingTop);
alert('width: ' +rng.boundingWidth);
alert('height: ' +rng.boundingHeight);
}
//]]>
</script>
<button onclick="foo()">see</button>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p><p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p>
<p>never-online.net</p><p>blog.never-online.net</p>