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)