Tengo un script que vuelve a cargar la pestaña activa de un navegador abierto, pero quiero que funcione con todos los navegadores abiertos. ¿Hay alguna manera de hacer una lista/matriz y usarla en este código?
Este código funciona con un solo navegador:
if application "Safari" is running then
tell application "Safari"
activate
end tell
tell application "System Events"
tell process "Safari"
keystroke "r" using {command down}
end tell
end tell
end if
Intenté crear una matriz/lista, pero creo que esta no es la forma porque no funciona:
set browsers to {"Google Chrome", "Firefox", "Opera", "Safari"}
Por lo general, no puede sustituir una lista por una cadena y hacer que las cosas funcionen sin algunos otros cambios.
Una buena manera de evitar esto es utilizar un repeat with variable in list
enfoque. Esto le permite revisar cada elemento de una lista y ejecutar su código con cada elemento de la lista individualmente.
He aquí cómo aplicar eso a su código:
set browsers to {"Google Chrome", "Firefox", "Opera", "Safari"}
repeat with browser in browsers
if application browser is running then
tell application browser
activate
end tell
tell application "System Events"
tell process browser
keystroke "r" using {command down}
end tell
end tell
end if
end repeat
Todo es igual excepto que su código está envuelto en un repeat with
bloque y el "Safari"
literal se reemplaza con browser
, una referencia al navegador actual en la lista de navegadores (el código se ejecutará una vez para cada navegador en la lista).
msmafra