Używam prostej aplikacji AppleScript do otwierania różnych schematów URL w różnych aplikacjach Fluid .
Ustawiając tę aplikację jako domyślną przeglądarkę, mogę skutecznie przeanalizować schemat URL i otworzyć odpowiednią samodzielną aplikację Fluid jako przeglądarkę.
Wszystko działa idealnie, z wyjątkiem opcji „udostępnij ten folder ...” w Dropbox. Spowoduje to otwarcie lokalnego adresu URL -file:///var/folders/...
To po prostu nie działa. Aplikacja default_browser uruchamia się, a następnie natychmiast zamyka.
Czy ktoś wie, jak zaktualizować ten skrypt, aby działały lokalne łącza plików?
on open location this_URL
if this_URL contains "docs.google.com" then
tell application "/Applications/Fluids/Google Drive.app"
activate
open location this_URL
end tell
else if this_URL contains "drive.google.com" then
tell application "/Applications/Fluids/Google Drive.app"
activate
open location this_URL
end tell
else if this_URL contains "mail.google.com" then
tell application "/Applications/Fluids/Gmail.app"
activate
open location this_URL
end tell
else if this_URL contains "gmail.com" then
tell application "/Applications/Fluids/Gmail.app"
activate
open location this_URL
end tell
-- default browser here
else
tell application "/Applications/Google Chrome.app"
activate
open location this_URL
end tell
end if
end open location
EDYCJA: aby wyjaśnić - opcja Dropbox „udostępnij ten folder ...” otwiera domyślną aplikację przeglądarki (powyżej), która następnie natychmiast się zamyka.
file://
protokołu nie jest możliwa. Nie ma LSHandlerURLScheme w ~/Library/Preferences/com.apple.LaunchServices.plist
mapowaniu tego adresu URL do Findera - domyślam się, że rozpoznawanie file:
protokołu jest głęboko w zasobach Systemu i nie chciałbym z tym zadzierać. Jaki jest problem z obecną obsługą adresów URL plików Dropbox? Gdzie chcesz to przekierować?
on open location
module obsługi, podczas gdythis_URL
w skrzynce Dropbox zostałby rozpoznany jako plik POSIX, a nie „lokalizacja”, choć nie jestem do końca pewien. Czy wypróbowałeś powyższe won run
zdarzeniu, które sprawdza, czythis_URL
zawierafile://
? A co się stanie, jeśli wykonaszdisplay dialog
wewnątrzon open location
pliku za pomocą adresu URL pliku, czy zdarzenie zostanie nawet złapane?