页面内容查找定位问题

阿伟 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 搜索结果)。
有没有办法,可以让这个搜索结果定位到屏幕中间?或者有什么其他用户体验更好的解决方案?
...全文
181 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Left_you 2012-01-06
  • 打赏
  • 举报
回复
用浏览器的搜索不行吗?
p2227 2012-01-05
  • 打赏
  • 举报
回复
弹出一个可移动的DIV框覆盖在文章上面,DIV上是所有的查找结果(带分页),点击DIV上的结果转跳到结果(动态生成的锚点),并且DIV是position:fix的
DIV上带X关闭,关闭后页面的所有锚点去除

以上代码不用现在的框架如Jquery的话很麻烦的,光UI部分就很多了

另外你搜索的那个代码很古老了,抛弃吧,检测什么NS4,不如检测一下是不是IE10吧
woduha 2012-01-05
  • 打赏
  • 举报
回复
貌似应该能查找到的时候动态创建锚点吧. 没试过. 应该可行
My_ideal2010 2012-01-05
  • 打赏
  • 举报
回复
简单给阐述下思路,
当你索引到要查询的元素时,js判断该元素的top和left width和height 然后获取整个窗体的操作区域width、height 进行加减,思路是这样。 具体代码比你上面的 简单多了
主要的就是获取数据的代码了。
阿伟 2012-01-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 woduha 的回复:]
用<a> 标签生成锚点 试过吗
[/Quote]

这个页面其实是一个公司的电话号码分机查询页面,有上百个分机。用锚点貌似光写这些锚点就累死了,而且这么些锚点的链接根本没地方放吧。
woduha 2012-01-05
  • 打赏
  • 举报
回复
用<a> 标签生成锚点 试过吗

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧