如何在 Safari 中将 TLD 添加到搜索例外

How to add TLD to search exception in Safari

如何在不提供协议的情况下将 .locahost 添加到 Safari 将 加载 而不是搜索的 TLD 列表中?或者(或者另外),如何让 Safari 停止从 URL?

中删除 http:// 协议

我一直在使用 project.localhost 处理本地开发,现在 .dev 不再是可行的开发 TLD。但我对 Safari 的默认行为感到沮丧。我想做的是阻止 Safari 将域名提交给搜索引擎。

期望:

  1. 在地址栏中输入project.localhost
  2. 浏览器加载 http://project.localhost

我对 Safari 不删除地址栏中的 http:// 感到满意,但我也找不到这样做的方法。

实际发生了什么:

  1. 在地址栏中输入project.localhost
  2. 浏览器发送 project.localhost 到 Duck Duck Go
  3. 用户很想测试键盘的弹道特性

或者,在我加载 http://project.localhost 之后尝试在当前 URL 之后添加一些内容:

  1. 点击地址栏,URL已缩短为project.localhost
  2. 添加/test.html到结尾
  3. 浏览器发送 project.localhost/test.html 到 Duck Duck Go
  4. 用户认为软件暴力

事实证明,Safari 扩展可能是一个长期的解决方案。目前,我无法管理开发者会员费用。但这是工作代码,供 Future Me 和任何其他研究此问题的人使用。

在扩展程序的全局页面中 <script>:

(function() {
    safari.application.addEventListener("beforeSearch", function(event) {
        if (event.query.split("/")[0].split(".").pop() == "localhost") {
            event.preventDefault();
            safari.application.activeBrowserWindow.activeTab.url = "http://" + event.query;
        }
    }, true);
})();

如果您只键入结尾的“/”,则会绕过搜索。

我刚刚在寻找同一问题的解决方案时发现了这个问题。好消息,我在找不到答案后偶然发现了一个简单的解决方案。

打开系统偏好设置 开放网络 单击高级按钮 单击代理选项卡

然后在“绕过这些主机和域的代理设置:”中将 localhost 添加到列表中。这是我对我所做的。我在我的 PiHole 中使用 .home 作为我的本地域。现在,如果我在 Safari 中输入“router.home”,我的路由器配置页面就会加载。