En la Consola de JavaScript de Chrome, puedo escribir lo siguiente:
window.myVar = "myValue";
Luego 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 instrucción de ejecución parece ejecutarse cuando se llama al script. No se lanzan errores, y existe la ventana de Chrome. Pero cuando trato de hacer referencia a myVar
desde el contexto de la ventana, solo se devuelve undefined
. Para fines de prueba, agregué una declaración de alerta después de esa declaración: la alerta se activará, pero myVar
permanece sin configurar.
Ahora, en Safari, usar 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 declaraciones cuando Applescript las llama cuando se puede hacer manualmente? (Chrome 51.0.2704.84, OS X 10.11.5)