如何让 Firefox 的 flatpak 版本将 localhost 视为没有协议前缀的地址?

如何让 Firefox 的 flatpak 版本将 localhost 视为没有协议前缀的地址?

localhost:8888当我在地址栏中输入时,Flatpak 版本的 Firefox 会打开一个对话框,让我选择一个应用程序来打开链接。如果我使用http://localhost:8888,页面会正常打开。我不想每次都输入。有没有办法恢复非 Flatpak 转换为 的http://行为,或者只为 解决它?localhost:8888http://localhost:8888localhost

我认为正在发生的事情是,它localhost:被解释为名为的协议,localhost而不是例如httphttps。我发现它127.0.0.1:8888确实有效,但我更希望它localhost有效,因为loc<Tab>通常足以打开我想要的内容,但即使制表符补全也会遇到此协议问题。127<Tab>它不能给我很好的制表符补全,但如果我更多地使用它,也许它会更好,这样 127.0.0.1 在建议的 URL 中会更有分量。

答案1

这实际上是已知问题。问题在于,Firefox 的 flatpak 没有 API 来查询localhost协议处理程序,如果没有,则返回将该术语视为地址,就像在 flatpak 沙箱之外一样。Firefox 只能将潜在协议传递给沙箱之外的处理程序。这是我对链接的 Bugzilla 票证中讨论的解释。

我相信一个解决方法可能是注册一个再次localhost调用的协议处理程序,但我还没有时间对此进行尝试。xdg-openhttp://localhost:<port+rest of URL>

我发布此内容作为答案是为了强调这是一个已知问题,没有好的解决方法,但并未将其标记为已接受。如果有人想出好的解决方法,将受到欢迎。

相关内容