jquery我应该如何实时搜索多个html文件的结果

时间:2013-12-03 10:03:04

标签: javascript jquery html search

我有这个小提琴http://jsfiddle.net/kd6Y4/4/

从同一网站上的其他网页获取div并显示问题是它的完美在线工作就像直接链接http://fiddle.jshell.net/kd6Y4/1/show/搜索手或两者一样

但是有一个问题,如果我正在搜索一个大约7 mb的html文件,超过6000 div,它会在给出结果之前挂起大约20秒,有时Chrome会在测试时关闭,我想从多个html文件加载结果时间和某种方式,以便结果应该在处理搜索时立即和实时显示,并且它应该一个接一个地搜索多个html文件并按时间顺序显示结果请帮助

} http://jsfiddle.net/kd6Y4/4/

1 个答案:

答案 0 :(得分:0)

Javascript遵循单线程计算模型。通过那么多div将阻止线程。为避免这种情况,您可以使用现代处理器的并行计算功能。

Parallel.js就是这样一个利用现代浏览器的多核功能的库。

假设您有500个需要搜索的div。

var divs = getDivs();
var worker = new Parallel('search');

worker.spawn(function(divs){
  // do search here
  return result;
}).then(function(result){
  //display the result
});

这里我们构造一个名为'search'的新并行工作者,然后生成一个作业,传入一个匿名函数。此函数接收需要搜索的div,并返回结果。

最后,致电then发布/显示返回的结果。

并行取决于webworker api,它定义了在Web应用程序中生成后台脚本的API。这允许您启动长时间运行的脚本来处理计算密集型任务,但不会阻止UI或其他脚本来处理用户交互。