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.