Click to See Complete Forum and Search --> : search on page


valenok
07-17-2006, 08:33 AM
<div id='page'>
asdf
asdf
asdffds
sdfewer
</div>

<script>
var search_string=asd;
if(search_string){

function x(search_string){var r,i,search_string;
r=page.innerText.createTextRange();
for(i=0;r.findText(search_string);i++){r.execCommand('BackColor','','006600');r.collapse(false)};
}
x(search_string);
}
Object doesn't support property or method.
I need it to work on all browsers..
Please help.

valenok
07-17-2006, 11:06 AM
?..

valenok
07-19-2006, 08:01 AM
help..

BrownBear
07-19-2006, 09:50 AM
Well, I need more info about the goal of what you are doing.
For now your x function for IE will look like:

function x(search_string){
var r,i;
r=document.body.createTextRange();
for(i=0;r.findText(search_string);i++){
r.execCommand('BackColor','','006600');r.collapse(false)};
}


For Mozilla:

function x(str)
{
var elm = document.getElementById('page');
var text = elm.textContent;
var pos =0;
var prevPos = 0;
var tEl = elm.firstChild;
while((pos = text.indexOf(str,pos))>=0)
{
var range = document.createRange();
range.setStart(tEl,pos - prevPos);
range.setEnd(tEl,pos + str.length - prevPos);
var el = document.createElement("span");
el.style.backgroundColor = 'red';
range.surroundContents(el);
tEl = el.nextSibling;
prevPos = pos + str.length;
pos = pos + str.length + 1;
}
}