我这里有这个 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/