Per OS X 10.10 e versioni successive, utilizza il seguente esempio codice AppleScript :
set defaultBrowser to do shell script "defaults read \
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure \
| awk -F'\"' '/http;/{print window[(NR)-1]}{window[NR]=$2}'"
if defaultBrowser is "" or defaultBrowser contains "safari" then
-- # The default Browser is Safari.
set defaultBrowser to "Safari"
-- # Your code goes here.
else if defaultBrowser contains "chrome" then
-- # The default Browser is Google Chrome.
set defaultBrowser to "Google Chrome"
-- # Your code goes here.
else if defaultBrowser contains "firefox" then
-- # The default Browser is Firefox.
set defaultBrowser to "Firefox"
-- # Your code goes here.
else
set defaultBrowser to "Other"
-- # Your code goes here.
end if
Nota: l'inizio dell'istruzione if defaultBrowser
non viene eseguita per niente ""
e "safari"
, perché, se Safari è l'unico Browser installato o se è installato un altro Browser e non ha mai impostato un Browser predefinito, quindi per impostazione predefinita non verrà restituito nulla il comando do shell script "defaults ..."
, e questo significa che Safari è il Browser predefinito
.
Nel esempio AppleScript codice sopra, il valore della defaultBrowser
variabile inizialmente viene impostato su uno dei seguenti valori :
- Nulla:
""
-
com.apple.safari
-
com.google.chrome
-
org.mozilla.firefox
- Alcuni altri:
output
Quindi all'interno dell'istruzione if
, defaultBrowser
viene impostato sul nome corretto del Browser . Sebbene tu possa certamente modificare come necessario / desiderato.
Nota anche che il do shell script
comando qui usato è più efficiente dell'altra risposta, che usa inutilmente il plutil
comando per convertire prima file binario plist in un file xml plist e successivamente in un file plist binario . Inoltre usa inutilmente grep
e awk
quando entrambi non sono necessari poiché defaults
e awk
(o solo defaults
e grep
) possono farlo senza tutti i rigroci extra.
Per pre OS X 10.10, sostituisci:
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure
Con:
com.apple.LaunchServices
Nel comando do shell script "defaults ..."
.