Pour OS X 10.10 et versions ultérieures, utilisez le exemple AppleScript suivant :
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
-- # Le navigateur par défaut est Safari.
set defaultBrowser to "Safari"
-- # Votre code va ici.
else if defaultBrowser contains "chrome" then
-- # Le navigateur par défaut est Google Chrome.
set defaultBrowser to "Google Chrome"
-- # Votre code va ici.
else if defaultBrowser contains "firefox" then
-- # Le navigateur par défaut est Firefox.
set defaultBrowser to "Firefox"
-- # Votre code va ici.
else
set defaultBrowser to "Autre"
-- # Votre code va ici.
end if
Note : Le début de la déclaration if defaultBrowser
teste pour ""
ainsi que "safari"
, car, si Safari est le seul navigateur installé ou si un autre navigateur est installé et n'a jamais eu de navigateur par défaut défini, alors par défaut rien ne sera retourné par la commande do shell script "defaults ..."
, et cela signifie que Safari est le navigateur par défaut.
Dans l'exemple AppleScript ci-dessus, la valeur de la variable defaultBrowser
est initialement définie sur l'une des valeurs suivantes :
- Rien :
""
com.apple.safari
com.google.chrome
org.mozilla.firefox
- Autre :
output
Ensuite, dans la déclaration if
, defaultBrowser
est défini sur le nom approprié du navigateur. Vous pouvez bien sûr le modifier comme nécessaire/souhaité.
Notez également que la commande do shell script
utilisée ici est plus efficace que l'autre réponse, qui utilise inutilement la commande plutil
pour convertir d'abord le fichier binary plist en un fichier xml plist et puis à nouveau en un fichier binary plist par la suite. Elle utilise également inutilement à la fois grep
et awk
alors que les deux ne sont pas nécessaires, puisque defaults
et awk
(ou simplement defaults
et grep
) peuvent le faire sans tout le bazar supplémentaire.
Pour les versions pré OS X 10.10, remplacez :
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure
Par :
com.apple.LaunchServices
Dans la commande do shell script "defaults ..."
.