Para OS X 10.10 y posteriores, utilice el siguiente ejemplo AppleScript código :
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: El inicio de la declaración if defaultBrowser
no prueba nada tanto ""
como "safari"
, porque, si Safari es el único Browser instalado o si se instala otro Browser y nunca se ha establecido un Browser predeterminado, entonces, de forma predeterminada, no se devolverá nada. El comando do shell script "defaults ..."
, y esto significa que Safari es el navegador predeterminado.
En el ejemplo AppleScript código anterior, el valor de la variable defaultBrowser
inicialmente se establece en uno de los siguientes valores :
- Nada:
""
-
com.apple.safari
-
com.google.chrome
-
org.mozilla.firefox
- Algunos otros:
output
Luego, dentro de la instrucción if
, defaultBrowser
se establece en el nombre propio del Navegador . Aunque ciertamente puedes modificarlo según lo necesites / desees.
También tenga en cuenta que el comando do shell script
usado aquí es más eficiente que la otra respuesta, que usa innecesariamente el comando plutil
para convertir primero el binary plist a un archivo xml plist y luego vuelva a un binary plist . También usa innecesariamente tanto grep
como awk
cuando ambos no son necesarios, ya que defaults
y awk
(o solo defaults
y grep
) pueden hacerlo sin todo el rigmarole extra.
Para pre OS X 10.10, reemplaza:
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure
Con:
com.apple.LaunchServices
En el comando do shell script "defaults ..."
.