JavaScript 实现的页内搜索代码 本资源是一个使用 JavaScript 实现的页内搜索代码,旨在帮助用户快速搜索当前页面中的关键字。下面是对该代码的详细解释: 搜索表单 我们需要在 HTML 中添加一个搜索表单,用于接收用户的搜索关键字。该表单由一个文本输入框和一个提交按钮组成: ```html <FORM name=search onsubmit="return findInPage(this.string.value);"> <INPUT onchange="n = 0;" size=15 name=string value="首相"> <INPUT type=submit value=页内搜索...> </FORM> ``` 在上面的代码中,我们定义了一个名为 `search` 的表单,其中包含一个文本输入框和一个提交按钮。当用户提交搜索请求时,浏览器将调用 `findInPage` 函数,并将搜索关键字作为参数传递给该函数。 findInPage 函数 `findInPage` 函数是搜索功能的核心部分,该函数负责在当前页面中搜索指定的关键字。该函数的实现如下: ```javascript function findInPage(str) { var txt, i, found; if (str == "") return false; if (NS4) { if (!win.find(str)) while (win.find(str, false, true)) n++; else n++; if (n == 0) alert("Not found."); } 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("不好意思,在本页没找到,是不是到其它类别去看看呢?\n 如果还没有找到,请给我发邮件(fred_fan@163.net)吧,我会尽力找找……\n\n云孩儿\nhttp://www.yunboys.com"); } } } return false; } ``` 在上面的代码中,我们首先判断用户输入的搜索关键字是否为空,如果为空则返回 `false`。然后,我们使用 `NS4` 和 `IE4` 两个变量来判断浏览器的类型,如果是 Netscape 浏览器,则使用 `win.find` 方法进行搜索;如果是 IE 浏览器,则使用 `createTextRange` 方法创建一个文本范围对象,然后使用 `findText` 方法进行搜索。如果没有找到搜索结果,则弹出一个警告框。 Browser 兼容性 在上面的代码中,我们使用了 `NS4` 和 `IE4` 两个变量来判断浏览器的类型,这是因为 Netscape 和 IE 浏览器在实现搜索功能时存在一些差异。通过使用这些变量,我们可以确保搜索功能在不同的浏览器中都能正常工作。 其他知识点 在上面的代码中,我们还使用了一些其他的技术,如 `onchange` 事件、`onsubmit` 事件和 `alert` 方法,这些技术都是 JavaScript 和 HTML 中的基本概念。 本资源是一个使用 JavaScript 实现的页内搜索代码,旨在帮助用户快速搜索当前页面中的关键字。该代码使用了多种技术,包括表单、搜索函数和浏览器兼容性技术等。
- 粉丝: 2
- 资源: 906
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- K618977005_2012-12-6_beforeP_000.txt.PRM
- 秋招信息获取与处理基础教程
- 程序员面试笔试面经技巧基础教程
- Python实例-21个自动办公源码-数据处理技术+Excel+自动化脚本+资源管理
- 全球前8GDP数据图(python动态柱状图)
- 汽车检测7-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 检测高压线电线-YOLO(v5至v9)、COCO、Darknet、VOC数据集合集.rar
- 检测行路中的人脸-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、VOC数据集合集.rar
- Image_17083039753012.jpg
- 检测生锈铁片生锈部分-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、VOC数据集合集.rar