在运用程序中利用实时搜索大大提高了网站的用户友好性。无论利用什么后端技能— PHP、Java、Python、Ruby——JavaScript都是实现客户端实时搜索功能的最佳选择。
实时搜索一词有点暗昧不清,该术语没有威信的定义。我碰着过一些标签为实时搜索的办理方案,但缺少某些关键功能。
1、Ajax实时搜索
这是一个开源的实时搜索jQuery插件,具有良好的记录,在Chrome、Firefox、Safari、Opera和IE8中均可完美呈现。 最令人印象深刻的功能是它可以以复制表的形式返回结果!
程序员可在官网或Github上理解更多信息(Github地址为:https://github.com/iranianpep/ajax-live-search)
2、Semantic UI搜索组件
如果程序员利用CSS框架,可以考虑Semantic UI。它有一个很酷的搜索组件,使程序员可以很随意马虎地在表单上实现实时搜索。以下是示例代码:
HTML:
<div class=\公众ui search\"大众>
<input class=\"大众prompt\"大众 type=\"大众text\"大众 placeholder=\"大众Search GitHub...\"大众>
<div class=\公众results\公众></div>
</div>
JavaScript:
小但很强大,如果利用API设置选项,可以实行自定义,例如将结果分组。同时,Semantic UI还专为React,Meteor,Ember和Angular设计了不同的风格。
要理解更多信息,可以查看干系Demo或者查看官网(https://semantic-ui.com/modules/search.html)。
3、jQueryUI AutoComplete
这是一个jQuery小部件,它是jQuery UI库的一部分。库本身是一组精心设计的用户界面组件,主题是建立在jQuery之上。
自动添补带有几个模板,可以供应不同的实现。以下是大略示例:
HTML:
JavaScript:
4、DevBridge jQuery AutoComplete
DevBridge jQuery AutoComplete是一个小型JavaScript库,可让将常规文本输入字段转换为自动添补建议框。它的API功能丰富、文档良好,可以实行相称多的不同配置。
实现它很大略,看看这个例子:
HTML:
<input type=\"大众text\"大众 name=\"大众country\"大众 id=\"大众autocomplete\"大众/>
JavaScript(AJAX查找):
JavaScript(本地查找):
5. EasyAutocomplete
EasyAutocomplete是一个高度可定制的jQuery自动完成插件,具有所有常用的功能。 它支持JSON,XML和纯文本格式确当地和远程数据集。它还支持回调处理程序以及一些默认样式。
将这个插件分开的是它们的模板功能,模板用于定义结果视图。程序员可以创建自定义模板或利用个中一种可用的内置预设,个中包括:
描述模板
Icon 右/左模板
链接模板
利用此插件实现基本的自动完成非常大略,请参阅以下示例代码:
HTML:
<input id=\"大众countries\公众/>
JSON:
Javascript:
6、PixaBay jQuery-autoComplete
这是一个开源的自动完成jQuery插件,您可以用于您的项目。最初该项目团队利用DevBridge的jQuery自动添补功能。后来他们创建了一个fork,并开始更新它以知足自己的需求。终极,他们对原始的源代码进行了多次迭代优化,开源了这款超轻量级优化插件。
该插件只有1.4 kB压缩,支持多个数据源,回调和智能缓存系统。这是插件的一个示例实现:
JavaScript:
程序员要理解更多信息,可以辞官网或Github上查看(github链接:https://github.com/Pixabay/jQuery-autoComplete)
7、Marco Polo
这是一个jQuery自动完成插件,它具有高质量的文档、缓存、内存选择、自定义样式、回调处理和WAI-ARIA支持。它须要jQuery v1.4.3或更高版本,并支持所有当代浏览器(乃至IE6!
)。
实现Marco Polo很大略。这是一个示例实现:
HTML:
JSON(源数据):
Javascript:
程序员要理解更多信息,可以辞官网或Github上查看(github链接:https://github.com/jstayton/jquery-marcopolo)
8、xDSoft Autocomplete Like Google
这是一个轻量级的自动完成jQuery插件,具有本地和远程数据源支持。
以下是一个示例代码:
JavaScript:
程序员要理解更多信息,可以辞官网或Github上查看,自行百度即可。
9、 jQuery Typeahead Search
jQuery Typeahead Search是一个自动完成插件,内置深度自定义选项。它适用于所有来自IE8 +的当代浏览器,并支持多种内部和外部AJAX回调。
如果查看演示页面,你会创造许多不同代码实现的示例。
10、Algolia Autocomplete
该JavaScript库能够在搜索框中添加快速且功能完好的自动添补菜单,它可以与Algolia搜索引擎结合利用。
它支持来自IE9的所有当代浏览器,可用作jQuery插件,Angular指令和独立库。除了常规功能,它还具有诸如防止XSS攻击的安全功能。
11、ng-bootstrap Typeahead
如果在项目中利用Angular和Bootstrap,则应利用ng-bootstrap框架。它具有一个类似于常规jQuery自动完成插件的aTypeahead组件。
它支持模板,本地和远程数据集,以及常日的搜索功能。以下是维基百科搜索的部分代码实现:
HTML:
Typescript:
12、React Autosuggest
你可以从标题中知道这不是一个jQuery插件,但是它仍旧是JavaScript。React Autosuggest是一个具有大量配置选项的开源库。它符合移动设备,符合WAI-ARIA,完备可定制,并且与Redux和Flux完美结合。
经由恰当的配置,程序员会得到一个真正的搜索插件,这是组件的部分代码示例:
只管源文档解释了利用本地阵列进行数据源的办理方案,但可以通过onSuggestionsFetchRequested()函数中的远程提取调用轻松地交流。
程序员要理解更多信息,可以辞官网或Github上查看(github链接:https://github.com/moroshko/react-autosuggest)
13、W3Schools Ajax Live Search
如果希望避免依赖并利用纯JavaScript实现办理方案,那么该当考试测验利用w3schools供应的办理方案。
本示例中的后端利用PHP做事器。显然,程序员可以用喜好的做事器技能来代替。该代码须要XML格式的数据,可以重写代码以接管JSON格式。
这个办理方案的伟大之处在于,它适用于所有当代浏览器和较早的IE5!
HTML:
Javascript:
14、WordPress Live Search
如果利用WordPress,程序员可以利用最少的编码来实现实时搜索。只须要安装和设置具有实时搜索功能的WordPress插件。最受欢迎的是Dave的WordPress Live Search,目前有超过10,000个活动安装。它与大多数主题兼容,具有多种可配置选项,并且易于集成,最小化。
总结
希望这份清单可以帮助程序员为项目选择得当的实时搜索办理方案。根据您的履历和项目环境,选择比其他环境更随意马虎实现和定制的方案。
没有列出的其他有能力的办理方案,大概你可以不才面的评论中列出来。