
谷歌搜索框数据列表的由来
谷歌搜索首页的搜索框中显示的数据列表并不是出现在源码中,而是通过请求动态加载的。
数据加载流程
每当在搜索框中输入内容时,就会触发一个 input 事件。事件处理函数将向服务器发送一个请求,该请求包含了当前输入的内容。
服务器收到请求后,将对输入的内容进行模糊查询,并返回一个结果列表。此结果列表会以 JSON 格式返回给浏览器。
浏览器端处理
技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作
浏览器端收到结果列表后,会将其解析为对象,并更新搜索框的数据列表。该列表将显示在搜索框下方,供用户选择。
缓存优化
当用户在输入框中回车后,当前的查询结果将被缓存到浏览器的 localStorage 中。当用户再次将光标聚焦到输入框时,搜索框将直接从缓存中获取结果列表。这可以显著提高后续输入时的响应速度。










