MacOS создает новое монтирование при вызовах пути AFP

Следующий сценарий:

В моем веб-приложении мои клиенты используют Firefox в качестве целевого браузера. Им нужно открыть afp:// папки через Javascript. Короче говоря, это действительно работает. Вам нужно настроить Firefox с about:config и установите значение network.protocol-handler.external.afp к истине.

Что происходит тогда, операционная система (OSX) заботится об этом пути, и она правильно открывает Finder окно.

Проблема:

OSX создает новое монтирование каждый раз. Это не может различить между afp://host/path/111 а также afp://host/path/222 например.
Более того, даже если путь afp на 100% идентичен, создается новое монтирование. Похоже, что это поведение по умолчанию в OSX независимо от Firefox.

Итак, есть ли шанс, что я могу сказать OSX не создавать новое монтирование для некоторых подкаталогов, которые должны получить доступ через afp://?


Обновить:

Похоже, есть приложения OSX, которые могут изменить поведение по умолчанию для сетевых протоколов. Таким образом, вы можете изменить "где-то", какое приложение OSX должно вызывать для протокола. Если это правда, не было бы возможно создать скрипт, который просто открывает локальный путь без afp:// префикс?

Вопрос в том, где эта конфигурация (?), Чтобы указать OSX, какое приложение использовать для определенного протокола. Любая помощь приветствуется!

3 ответа

Ааа, у меня был совершенно другой ответ, а затем выяснили причину, почему это проблема.

Причина в том, что проблема заключается в том, что после монтирования общего ресурса AFP это, по сути, локальный "том". Таким образом, перечисление его как подключенного тома локально на указанной машине. Таким образом, использование другой ссылки "AFP://" любого типа приведет к открытию нового соединения AFP с самим сервером.

Я согласен с тем, что сказал @Хача; вы действительно создаете новую точку монтирования с каждым afp:// позвони и сделай /Volume/mountpoint, Вместо того, чтобы вызывать afp каждый раз, я бы предложил открыть верхнюю папку один раз через afp://server/mountpoint а затем использовать файл URL file:///Volumes/mountpoint вместо.

Вы можете использовать RCDefaultApp, чтобы настроить приложение для использования с заданной схемой URL (afp в вашем случае). Обратите внимание, что приложение, вероятно, должно объявить о своей способности обрабатывать схему afp в своем файле Info.plist под ключом CFBundleURLTypes.

Другие вопросы по тегам