Come posso aggiungere una proprietà all'oggetto finestra in Chrome usando Applescript?

0

Nella Console JavaScript di Chrome, posso digitare quanto segue:

window.myVar = "myValue";

Posso quindi accedere a myVar dal contesto della finestra, dove restituisce "myValue" . Eccellente.

Tuttavia, se faccio quanto segue in Applescript:

tell application "Google Chrome"
    execute front window's active tab javascript "window.myVar = 'myValue';"
end tell

Questa istruzione di esecuzione sembra essere eseguita quando viene chiamato lo script. Non vengono emessi errori e la finestra di Chrome esiste. Ma quando provo a fare riferimento a myVar dal contesto della finestra, viene restituito solo undefined . A scopo di test, ho aggiunto una dichiarazione di avviso dopo tale dichiarazione: l'avviso si attiva, ma myVar rimane non impostato.

Ora, in Safari, usare do JavaScript con questo stesso codice funziona come se avessi digitato il codice direttamente nella console - myVar restituisce un valore.

Perché Chrome non attiva queste istruzioni quando viene chiamato da Applescript quando può essere eseguito manualmente? (Chrome 51.0.2704.84, OS X 10.11.5)

    
posta Rydash 10.06.2016 - 18:16
fonte

1 risposta

1

Ho scoperto una soluzione alternativa. Potrebbe non essere il migliore, ma la riga seguente esegue il codice JavaScript che ho in mente mentre impostai anche le proprietà di window :

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

Utilizzando questo, myVar restituisce correttamente "myValue" . Nizza.

    
risposta data 10.06.2016 - 20:53
fonte

Leggi altre domande sui tag