¿Cómo puedo agregar una propiedad al objeto de la ventana en Chrome usando Applescript?

0

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)

    
pregunta Rydash 10.06.2016 - 18:16

1 respuesta

1

Descubrí una solución. Puede que no sea el mejor, pero la siguiente línea ejecuta el JavaScript que tengo en mente al mismo tiempo que configuro 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 apropiadamente "myValue" . Niza.

    
respondido por el Rydash 10.06.2016 - 20:53

Lea otras preguntas en las etiquetas