答案1
我以前就注意到了这个问题。当我第一次看到这种情况时,我只是使用快捷键Shift+从地址栏中删除了 URL Del。不幸的是,这种情况并没有持续多久,但我只是忽略了它,忍受着字符的消失,直到它再次让我烦恼不已。在寻找解决方案时,我发现了这个问题,所以我深入研究了这个问题,因为我现在知道我不是唯一一个。
到目前为止,我发现这些都是搜索引擎。Chrome 有一些神奇的功能,它可以检测您访问的网站上的搜索引擎,并将其添加到您的浏览器中,这样您就可以通过输入(部分)URL 并按 来使用它们Tab,正如您已经知道的那样。这是我第一个线索,知道该去哪里找。
当我浏览搜索引擎时,我发现有问题的 Google 条目,其关键字后附加了一个或两个下划线字符。由于source=hp
是查询 URL 的一部分,因此这些 URL 一定是在我访问 Google 主页并从那里搜索某些内容时创建的。当我寻找更多此类条目时,我还发现reddit 的两个额外条目,从这里我开始看到一种模式。
我转向Chromium 代码搜索并试图弄清楚这是怎么发生的。结果发现,有一个专门针对场景的单元测试,这使得查找变得更容易一些。我的理解是,如果搜索引擎存在,而 Chromium 想要添加另一个具有相同关键字的搜索引擎,它会尝试从 URL 生成一个新关键字。如果生成的关键字也已经存在,它会在原始关键字后附加一个下划线并使用该关键字。执行实际工作的代码可以找到这里和这里。
总结:不幸的是,这些都不能真正解释为什么这些搜索引擎会被添加,但它确实解释了这是在某些特殊情况下的预期行为,而不是某种扩展程序的失控。我也无法解释为什么某些字符会从搜索查询中消失,我也不太清楚从哪里开始查找。
目前,我已从设置中手动删除了搜索引擎(直接链接是 chrome://settings/searchEngines 或右键单击地址栏并单击“编辑搜索引擎...”)并且进行了一些快速测试(转到主页并在那里搜索某些内容)并没有让它们重新出现,所以祈祷一切顺利。