0 votos

¿Cómo puedo añadir una propiedad al objeto ventana en Chrome utilizando Applescript?

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)

1voto

teo Puntos 563

He descubierto una solución. Puede que no sea la mejor, pero la siguiente línea ejecuta el JavaScript que tengo en mente y al mismo tiempo establece las propiedades de window :

tell front window of application "Google Chrome"
    set URL of active tab to "javascript:" & window.myVar = "myValue"
end tell

Usando esto, myVar devuelve adecuadamente "myValue" . Muy bien.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X