MacOS 在 AFP 路径调用上创建新的挂载

MacOS 在 AFP 路径调用上创建新的挂载

以下场景:

在我的 Web 应用中,我的客户使用 Firefox 作为目标浏览器。他们需要afp://通过 Javascript 打开文件夹。长话短说,这确实有效。您需要设置 Firefox 并将about:config值设置network.protocol-handler.external.afp为 true。

然后会发生什么呢?操作系统(OSX)会处理该路径并正确打开一个Finder窗口。

问题

OSX 每次都会创建新的挂载。例如,它无法区分afp://host/path/111和。 此外,即使 afp 路径 100% 相同,也会创建新的挂载。看起来这是 OSX 的默认行为,无论 Firefox 如何。afp://host/path/222

那么,我是否可以告诉 OSX 不要为一些应该获得访问权限的子目录创建新的挂载afp://


更新:

看起来,有些 OSX 应用程序可以更改网络协议的默认行为。因此,您可以在“某处”更改 OSX 应调用哪个应用程序来获取协议。如果这是真的,那么是否可以创建一个只打开本地路径而不带前缀的脚本afp://

这里的问题是,该配置在哪里(?)来告诉 OSX 针对特定协议使用哪个应用程序。欢迎任何帮助!

答案1

啊,我想出了一个完全不同的解决办法,并弄清楚了为什么会出现这个问题。

之所以会出现问题,是因为一旦安装了 AFP 共享,它本质上就是一个本地“卷”。因此,将其列为该机器本地安装的卷。因此,使用任何类型的另一个“AFP://”链接都会打开与服务器本身的新 AFP 连接。

答案2

您可以使用RC默认应用设置应用程序使用给定的 URL 方案(在您的例子中为 afp)。请注意,应用程序可能应该在其 Info.plist 文件中的 CFBundleURLTypes 键下声明其处理 afp 方案的能力。

答案3

我同意 @Hacha 所说的;你确实在每次afp://调用时都会创建一个新的挂载点,并将其设为/Volume/mountpoint。我建议不要每次都调用 afp,而是打开顶部文件夹一次通过afp://server/mountpoint,然后使用文件 urlfile:///Volumes/mountpoint代替。

相关内容