En la consola JavaScript de Chrome, puedo escribir lo siguiente:
window.myVar = "myValue";
A continuación, puedo acceder a myVar
desde el contexto de la ventana, donde devuelve "myValue"
. Excelente.
Sin embargo, si hago lo siguiente en Applescript:
tell application "Google Chrome"
execute front window's active tab javascript "window.myVar = 'myValue';"
end tell
Esta sentencia de ejecución parece ejecutarse cuando se llama al script. No se lanza ningún error, y la ventana de Chrome existe. Pero cuando intento hacer referencia a myVar
del contexto de la ventana, sólo undefined
se devuelve alguna vez. Para probarlo, he añadido una declaración de alerta después de esa declaración - la alerta se disparará, pero myVar
no se ha fijado.
Ahora, en Safari, utilizando do JavaScript
con este mismo código funciona como si hubiera escrito el código directamente en la consola - myVar
devuelve un valor.
¿Por qué Chrome no dispara estas sentencias cuando es llamado por Applescript cuando se puede hacer manualmente? (Chrome 51.0.2704.84, OS X 10.11.5)