javascript - jquery 我应该如何实时搜索多个 html 文件以获取结果

标签 javascript jquery html search

我这里有这个 fiddle http://jsfiddle.net/kd6Y4/4/

它从同一站点上的不同页面获取 div 并显示它,问题是它可以完美地在线工作,就像这个直接链接 http://fiddle.jshell.net/kd6Y4/1/show/在两者中搜索 hand 或 and

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

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

最佳答案

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 或其他脚本来处理用户交互。

关于javascript - jquery 我应该如何实时搜索多个 html 文件以获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20348012/

相关文章:

javascript - Angularjs 如何使数据在所有范围内可用

jquery - 应用程序中的 jQuery 加载是否存在竞争条件?

c# - asp.net 文本 onkeyup 事件

javascript - 有没有办法动态更改JavaScript中选择标签的值和显示?

javascript - 在 .html() 方法中使用 jQuery inside image 标签

javascript - 可以更改圈子输入中的字符吗?

javascript - HTML 表单提交后未清除

javascript - 强制动态加载的 JavaScript 不在 google chrome 上缓存

javascript - bootstrap popover 从上到下动态改变位置

javascript - laravel 中的 ajax 帖子