Назад | Перейти на главную страницу

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, какое приложение использовать для определенного протокола. Любая помощь приветствуется!

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

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

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

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