仿google搜索提示 SuggestFramework的使用

preview
需积分: 0 0 下载量 191 浏览量 更新于2020-10-30 收藏 65KB PDF 举报
SuggestFramework 是一个仿照 Google Suggest 功能的小框架,它能够让网站上的文本框具备自动完成或提示功能。这种功能可以让用户在输入文字时,实时地获取搜索建议,从而提升用户的体验并加快搜索速度。SuggestFramework 的优势在于它的浏览器兼容性好,几乎支持所有的主流浏览器,包括旧版的 Internet Explorer 5+(Windows/Mac)、Firefox(Windows/Mac)、Opera 8+ 等。 安装 SuggestFramework 相对简单,主要步骤是将 SuggestFramework.js 文件复制到服务器上,并对提示效果进行定制化的 CSS 样式设计,然后将这个样式文件加入到网站的每个页面中。值得注意的是,SuggestFramework.js 已经使用 DojoShrinkSafe 进行了压缩,这样做可以减小文件大小,提高加载速度。 使用 SuggestFramework 的时候,需要在网页的 <head> 标签中引入 SuggestFramework.js,并通过 JavaScript 代码来初始化框架。具体代码如下: ```html <script type="text/javascript" src="/path/to/SuggestFramework.js"></script> <script type="text/javascript">window.onload=initializeSuggestFramework;</script> ``` 当框架被正确加载后,每个具有特定名称的文本框将获得五个属性,这些属性对搜索提示功能至关重要: 1. action:这是一个必须的属性,它指向一个动态页面,该页面负责通过 GET 方式接收数据并返回相关联的 JavaScript 数组。 2. capture:这个属性用于指定返回结果中哪一列将替换用户输入的文本。它通常与数据库字段相关联,是可选的,默认值为 1。 3. columns:指定下拉显示的列数。例如,在一个按字母查询单词的场景中,中文意思可能会显示在右侧。这个属性是可选的,默认为 1。 4. delay:设置查询的延迟时间,单位为毫秒。较低的延时可以使反应更快,但同时会增加服务器的负担。这个属性同样是可选的,默认值为 1000 毫秒(即 1 秒)。 5. heading:当设置为 true 时,第一个数组值将作为不可选择项(标题栏)。这在有两列或两列以上数据时非常有用。该属性是可选的,默认为 false。 在使用框架时,后端数据输出需要遵循特定的格式,包括一维数组和二维数组的输出方法。一维数组的格式如下: ```javascript newArray("val1", "val2", "val3"); ``` 二维数组格式则稍微复杂一些,每一行都是一个一维数组,如下所示: ```javascript newArray( newArray("第1行条第1列", "第1行第2列"), newArray("第2行条第1列", "第2行第2列"), newArray("第3行条第1列", "第3行第2列") ); ``` 在 CSS 方面,需要定义四个类: - .SuggestFramework_List:用来定义提示内容所在的区域。 - .SuggestFramework_Heading:用来设置第一条提示的样式。 - .SuggestFramework_Highlighted:用来设置当前高亮显示的提示项。 - .SuggestFramework_Normal:用来设置其他非高亮提示项的样式。 如果在使用框架时遇到乱码或 JavaScript 脚本错误的问题,可以尝试以下解决方法: 1. 对于后台返回数据的页面,比如 display.asp,添加一个 GB2312 到 UTF-8 的转换函数,将数据库内容转换为 UTF-8 编码。 2. 如果后台页面是 ASP 文件,代码首行要添加 `<%@ LANGUAGE="VBSCRIPT" CODEPAGE="936" %>` 指令,来设置正确的字符编码。 3. 将后台返回数据的页面文件以 UTF-8 编码格式保存。 SuggestFramework 的官方下载地址是 ***,这是一个开源项目,用户可以免费下载使用,并且可以根据需求对框架进行修改和扩展。 SuggestFramework 是一个对提升网站用户体验非常有帮助的工具,通过简单的集成,可以让你的网站拥有与 Google Suggest 类似的搜索提示功能,使用户在搜索时能获得更加便捷和直观的体验。