следующий сценарий:
В моем веб-приложении мои клиенты используют 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.