gpt4 book ai didi

search - Chrome搜索中使用什么算法?

转载 作者:行者123 更新时间:2023-12-04 05:01:00 24 4
gpt4 key购买 nike

假设您使用的是Chrome,当我按Cmd + F或Ctrl + F ...时,我键入一个字符,它将搜索整个页面并为我突出显示文本。它立即搜索。 Chrome使用哪种算法?为什么它可以这么快地键入和搜索?有什么想法吗?谢谢你。

最佳答案

您可以在此处找到有关该体系结构的更多信息:
http://www.chromium.org/developers/design-documents/find-bar

我将尝试解释更详细的响应,这将在您下次需要更多内容时帮助您浏览Chromium源。

当用户在Chromium中启动查找时,我们基本上会向观察者注册一个通知以获取结果。每个find调用都是异步的,并且渲染器将搜索结果作为通知消息发送。这在FindBarController::Observe中处理

当您按下下一个/上一个/回车键FindBarView::ButtonPressed时发生的第一件事是,它告诉当前的选项卡内容开始查找TabContents::StartFinding。您会注意到,在这段代码中,它向IPC发送了一个异步请求。您可以在此处查看我们的发送方式:RendererViewHost::StartFinding

由于Chromium是multi-process architecture,我们通过IPC消息处理程序发送消息。您可以查看上面的链接以查看消息的发送方式。渲染主机将消息发送到渲染 View RenderView::OnFind。从那时起,您知道查找逻辑显然是在WebKit源代码中,而不是在Chromium中。 WebFrameImpl::find

现在在WebKit中,找到字符串的逻辑在Editor::findString中,如果您注意到算法是什么,基本上就使用WebKit/WebCore/editing/TextIterator.h在给定范围内遍历DOM。与Chromium相比,WebKit中的注释不是那么好,但是代码很高,因此阅读3000+ loc毫无问题。

我之所以告诉您所有这些信息都是为​​了您的利益,因此,如果您想了解更多有关Chromium/WebKit的知识,那么您将知道如何查看源代码:)我强烈建议http://dev.chromium.org/developers

关于search - Chrome搜索中使用什么算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com