Как-то использовал локальный поиск на js:
void(z=prompt('Find text:',''));
if(z.length>1){
var b;
var c=new RegExp('('+z+')(?!([^<]*?>))','gi');
var d='f_iphone_'+Math.floor(Math.random()*100);
var e='$1';
var l=window.lastChangeFrom;
if(l){
var f=new RegExp('<span[^>]*>'+l+'','gi');
b=document.body.innerHTML.replace(f,l);
void(document.body.innerHTML=b)
}
window.lastChangeFrom=z;
b=document.body.innerHTML.replace(c,e);
void(document.body.innerHTML=b);
var g=document.getElementsByName(d);
if(g && g.length>0){
alert('Found '+g.length+' matches.');
window.scrollTo(0,g[0].offsetTop)
}else{
alert('No items found')
}
};
Возможно, пригодится.