页面内容查找定位问题
阿伟 2012-01-05 03:22:38 在网上搜了一下,内面内查找文字内容的方法,方法大致如下:
function findInPage(str) {
var txt, i, found;
if (str == "")
return false;
if (DOM)
{
win.find(str, false, true);
return true;
}
if (NS4) {
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
if (n == 0)
alert("未找到指定内容.");
}
if (IE4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
n = 0;
findInPage(str);
}
else
alert("未找到指定内容.");
}
}
return false;
}
试了一下,是可以找到内容。
但是现在问题是,如果页面比较大,需要拉动水平、垂直滚动条,查到的内容虽然被标示为蓝色,但是,那个内容可能会在一个角落里面,不容易被发现(就像IE默认的Ctrl+F 搜索结果)。
有没有办法,可以让这个搜索结果定位到屏幕中间?或者有什么其他用户体验更好的解决方案?