几天前,我注意到,对于所有网站,chrome 都会从地址栏中省略协议和子域(如果有的话)。www.
我的同事报告说他们没有看到这一点。Chrome 版本是 67.0.3396.87。
例如,如果我在地址栏中输入https://www.google.com
(不带引号),Chrome 会立即显示芯片“Secure”,后面跟着google.com
。请参阅所附的屏幕截图。
我徒劳地寻找影响此问题的 Chrome 设置以及chrome://flags
页面和chrome://net-internals
页面。
我并没有刻意做任何事来做出这种改变。
有任何想法吗?
编辑:MrWhite 建议 Ominbox UI 隐藏稳态 URL 方案和琐碎子域,这是一个enabled:
不错的建议,只是设置仍为“默认”。见截图:
然而,作为一个盲目的尝试,我将尝试一下设置,看看会发生什么。
首先,我将其设置为“已禁用”。这样就恢复了地址栏的先前行为,即不隐藏协议和“无关紧要的子域”。然后我将其改回“默认”,结果它又隐藏了它们。人们会怀疑默认设置不知何故被更改了,只是同事们没有报告这个问题。
哦,好吧。我现在就将其保留为“已禁用”。
我愿意接受 MrWhite 的回答,因为它提供了一种解决方法。但是我会再讨论一段时间,因为它并没有真正回答为什么这种行为发生了变化,以及为什么必须覆盖它。
编辑2:Chrome版本是67.0.3396.87。
答案1
2020 年 3 月更新:我原来的答案中列出的选项chrome://flags
不再有效,因为标志似乎已从用户界面中删除(尽管在它们明显从用户界面中删除后的一段时间内,如果你以前已禁用UI 中的这些功能 - 尽管现在情况不再如此)。
但是,正如 @RIanGillis 的评论所述,您仍然可以通过添加参数在 Chrome 快捷方式/命令行上禁用这些选项--disable-features
。例如:
.../chrome.exe --disable-features=OmniboxUIExperimentHideSteadyStateUrlTrivialSubdomains,OmniboxUIExperimentHideSteadyStateUrlScheme,OmniboxUIExperimentHideFileUrlScheme
这似乎为我恢复了原来的功能(测试了 Chrome v80.0.3987.132)。http://
仍然被隐藏(而是显示“不安全”)。https://
显示为www
子域。
另一种选择,如以下是@wOxxOm 的回答,似乎是安装谷歌的可疑站点报告者扩展还可以恢复协议和子域。
原始答案(不再有效):
您所看到的行为与“多功能框 UI 隐藏稳定状态 URL 方案和琐碎子域”设置一致已启用之内chrome://flags
。
将此标志恢复为“默认”(或“已禁用”)并重新启动浏览器(提示)应该会恢复您的方案 + 子域。这是 Chrome 版本 67.0.3396.87(官方版本)(64 位)- Windows 上的。
除了检查设置不显示“已启用”;而是显示“默认”。
据我所知,“默认”是“启用”还是“禁用”是 Chrome 可执行文件中内置的。因此,这主要取决于版本。还请注意,“开发者”版本和“稳定”版本的设置有所不同。
还可以在命令行开关中启用/禁用设置。因此这是另一个值得检查的领域。参考:https://peter.sh/experiments/chromium-command-line-switches/- 尽管我在这个列表中没有看到太多与多功能框相关的内容。
2018 年 9 月更新:正如另一个答案中所述,从 Chrome 版本 69(测试版本 69.0.3497.81)开始,此功能现在似乎是已启用默认情况下,此功能是禁用的。因此,您必须明确将其设置为“已禁用”才能删除此功能。
2019 年 8 月更新:此选项/标志已被拆分成两个(可能从版本 72 开始 - 根据@Kyborek 在评论中的说法):
- 多功能框 UI 隐藏稳定状态 URL 方案
- 多功能框 UI 隐藏稳定状态 URL 琐碎子域
“默认”设置是已启用,因此必须将这些选项明确设置为“已禁用”才能在 URL 地址栏中重新显示“方案”和“简单子域”。 (请注意,无论此选项如何,不安全的“http”方案/协议始终是隐藏的。)
还有一个新的(?),相当不祥的选项:“Omnibox UI 隐藏稳定状态 URL 路径、查询和引用”,目前(Chrome 版本 76)似乎是已禁用处于“默认”状态。不过还是要注意一些事项!
2019 年 11 月更新:不幸的是,从 78 版开始,这些旗帜现已从 UI 中完全删除。
然而,虽然这些标志似乎已在用户界面中被删除,但如果你之前已禁用如果在早期版本中使用这些标志,则选项似乎会保留下来,并且“简单子域”和“(HTTPS)URL 方案”仍然可见。
答案2
chrome://flags 条目是临时的,将在 Chrome 的未来版本中删除。
Chrome 83+ 中的当前解决方案
在地址栏内单击右键,在上下文菜单中启用“始终显示完整 URL”。如果该选项不存在,请转到chrome://flags
,找到show full URL
标志,启用它,然后重新启动 Chrome。希望将来它会默认存在,请参阅crbug.com/1061576。
官方的长期替代解决办法
这官方支持长期解决方法是安装谷歌的可疑网站报告器扩大。
www
而其他“琐碎子域”将完整显示https://
将会充分展现http://
将被隐藏,Not secure
而是显示
它之所以有效是因为 Chrome/Chromium明确检查使用其 id 来判断扩展是否安装并启用,并相应地切换 URL 省略功能。
对于那些不想安装 Site Reporter 扩展的人。
该扩展唯一需要的部分是下面显示的 manifest.json 的摘录,不需要其他文件。您可以将其作为未打包的扩展安装在浏览器中。在 Linux 或 MacOS 上安装应该很简单。至于 Windows,据我所知,只有 Canary 频道支持无限制安装未打包的扩展。一些 Chrome 分支也支持它。在 Windows 上的官方稳定版 Google Chrome 中,您必须使用精心设计的把戏以避免每次启动浏览器时都出现警告。
此零权重扩展程序使用与 Google 扩展程序相同的 ID,因此您无法同时安装它们,但无论如何您只需要一个。请注意,由于 ID 相同,我们无法将其上传到 Web Store。
- 复制以下文本并将其粘贴到文本编辑器中,另存为
manifest.json
。
另请参阅如何在 Windows 中保存带有任意扩展名的文件 - 打开
chrome://extensions
页面,启用“开发者模式”,将包含 manifest.json 的目录拖放到页面中或单击“加载解压后的目录”按钮并在那里指示目录。
{ "name": "Keep full URL", "description": "Prevent elision of www and other trivial subdomains in the address bar", "version": "1.0", "manifest_version": 2, "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAowA8wOUQ8ShyITJ15B9rcJrnoolyo+OLj07g8QWBlEBikgszYwlbc88OIRL+dJOASok3yG6RQ60fvIjBrtNEk1yQZJfNwF/CN0jFrkE3HN3xVMoX0XIQPB93kDZARcfR5nwU3RUgwwWGTqt69KSSU8QzRRQJSEgM8GENa3OBhw1UBn/I/RbhaFcTykJSomo9j55goJwNzUhXTJk458DQ5diY+gWMadDXlDBa8cciCVlaGOjBV5ezmxnD6p1GXhrvyEKZP8IlreDJC2Nw9hxrT3GIo1FzbmeDPANKJ9pkY1H3LOVsGJDtytBpD/FRErlvfkJVqp3N5ifF2EQ8lOAHrQIDAQAB" }
- 复制以下文本并将其粘贴到文本编辑器中,另存为
答案3
现在默认设置为chrome://flags/#omnibox-ui-hide-steady-state-url-scheme-and-subdomains
它现在还会将一些其他子域名(如“m.domain.com”)剥离为“domain.com”,因此“www.m.www.m.example.com”将在地址栏中显示为“example.com”,除非在 Chrome 69 中将“Omnibox UI 隐藏稳态 URL 方案和琐碎子域”设置为禁用
https://bugs.chromium.org/p/chromium/issues/detail?id=881410
答案4
不幸的是,该功能chrome://flags/#omnibox-ui-hide-steady-state-url-trivial-subdomains
已在 Chrome 76 中删除,但有一个非常简单的技巧可以再次显示协议和子域。
你所要做的就是安装谷歌的可疑站点报告者扩大来自 Chrome 商店和“https://www。”将开始显示在地址栏中。
正如我们在源代码中看到的,如果安装了此扩展,协议将不会被隐藏: