firefox - trucos - Uso de AppleScript para captar la URL desde la ventana principal de los navegadores web: la lista definitiva
poner firefox como navegador predeterminado en windows 7 (11)
Construí un [widget] [1] que toma la URL desde la ventana delantera en Safari, luego le permite acortarla usando la API tr.im. Funciona dulce como.
Quiero hacer esto más flexible, así que estoy investigando cómo obtener una URL de otros navegadores. Aquí está el AppleScript que funciona en Safari:
tell application "Safari"
return URL of front document as string
end tell
Después de algunas excavaciones , determiné que lo siguiente podría funcionar para Firefox (aunque una persona me ha dicho que no funciona, posiblemente un conflicto con alguna extensión):
tell application "Firefox"
set myFirefox to properties of front window as list
return item 3 of myFirefox
end tell
Nota: Lo anterior es un ejemplo de una práctica menos que óptima, dependiendo de la posición de los elementos de la lista. Vea a continuación una mejor solución para Firefox.
Lo que me gustaría hacer es crear aquí una lista de los equivalentes definitivos para cada navegador moderno en Mac: Opera, Camino, Flock, etc.
Actualización: en mi investigación sobre el tema, encontré un hilo útil en MacOSXHints.com . La mayoría de mis respuestas a continuación se basan en esa discusión.
Actualización 2: incorporé el AppleScript en esta página en [widget] [1]. Parece que está funcionando bien.
Opera (probado en las versiones 9.21 y 9.62):
tell application "Opera"
return URL of front document as string
end tell
Camino (probado en la versión 1.6.4):
tell application "Camino"
set p to properties of front tab of front window
return |currentURI| of p as string
end tell
Firefox (probado en las versiones 2.0.0.14 y 3.0.1):
tell application "Firefox"
set myURL to «class curl» of window 1
return myURL
end tell
Flock (probado en la versión 2.0):
tell application "Flock"
set p to properties of front window as list
return item 3 of p
end tell
Esto depende de la posición del elemento de la lista, pero hasta donde puedo decir, esta es la única forma de obtener este valor. La propiedad es una address
nombre que, aunque la documentación de Apple no lo dice, parece ser una palabra reservada en AppleScript.
OmniWeb (probado en la versión 5.8):
tell application "OmniWeb"
set myInfo to GetWindowInfo
return item 1 of myInfo
end tell
Actualmente hay un error en Firefox 3.03, que ocultará de AppleScript todas las propiedades de la ventana, incluyendo «class curl», si ha utilizado una declaración como la siguiente antes:
tell application "Firefox" to activate
o
tell application "Firefox"
if (front window) exists then do_something()
end tell
el trabajo alrededor es usar el siguiente código en su lugar:
tell application "System Events"
tell process "Firefox"
set frontmost to true
set xsist to (front window) exists
(* keep xsist value to test later on *)
end tell
end tell
Nota: las propiedades de la ventana no estarán disponibles hasta el próximo relanzamiento de Firefox
Este es Piero otra vez con una nueva identificación (perdí mis cookies al intentar reinstalar Firefox !!!).
Acabo de probar Firefox 3.04, nada ha cambiado sobre el soporte de appleScript y confiabilidad. Todavía el mismo error ...
Mi prueba y búsquedas en la web me llevaron a la conclusión de que no se puede acceder al nombre de la ventana y otras propiedades de la ventana, como «curl de clase», en el mismo guión.
Si está trabajando con el nombre de la ventana, y eso, de repente, ya no puede acceder a él (obteniendo cadenas binarias aleatorias), tiene que volver a llamar a este código:
tell application "Firefox" to activate
usar cualquier declaración que genere un error en Firefox también funcionará bien, para hacer que el nombre de la ventana vuelva a estar disponible, ¡pero reiniciar tu Mac no cambiará nada!
Una vez que hayas hecho eso, como mencioné anteriormente, ya no puedes acceder al «curl de clase», hasta el próximo reinicio de Firefox ...
¡escribir guiones para Firefox en Macs es realmente una misión imposible!
Si desea que AppleScript sea compatible con Firefox, cuéntelo y vote por este error.
Camino 1.6 y superior:
tell application "Camino"
return URL of current tab of front browser window as text
end tell
A diferencia de la respuesta anterior, obtendrá la URL de la pestaña enfocada.
Active las secuencias de comandos de IU y ejecute el código a continuación. Luego tendrá la URL en el portapapeles y podrá pegarla.
tell application "Firefox" to activate
tell application "System Events"
keystroke "l" using command down
keystroke "c" using command down
end tell
Google Chrome para Mac ha agregado el método AppleScripting para obtener la URL.
Aquí está el Chromium AppleScript SDK
https://sites.google.com/a/chromium.org/dev/developers/design-documents/applescript
Ejemplo de la página vinculada a continuación:
tell application "Google Chrome"
get URL of active tab of window 1
end tell
Más ejemplos aquí:
http://laclefyoshi.blogspot.com/2010/10/google-chrome-ver.html
Gracias a Brian arriba, esta es la versión a prueba de balas.
Su código le pide que pegue la URL, pero esta establece la URL a "FrontDocumentURL" que luego puede usar como una variable en sus scripts.
tell application "Firefox" to activate
tell application "System Events"
keystroke "l" using command down
keystroke "c" using command down
end tell
set FrontDocumentURL to the clipboard