No Console JavaScript do Chrome, posso digitar o seguinte:
window.myVar = "myValue";
Eu posso acessar a myVar
partir do contexto da janela, onde ele retorna "myValue"
. Excelente.
No entanto, se eu fizer o seguinte no Applescript:
tell application "Google Chrome"
execute front window's active tab javascript "window.myVar = 'myValue';"
end tell
Essa instrução de execução parece ser executada quando o script é chamado. Nenhum erro é gerado e a janela do Chrome existe. Mas quando tento fazer referência a myVar
partir do contexto da janela, apenas undefined
é retornado. Para fins de teste, adicionei uma declaração de alerta após essa declaração - o alerta será acionado, mas myVar
permanecerá desativado.
Agora, no Safari, usar do JavaScript
esse mesmo código funciona como se eu tivesse digitado o código diretamente no console - myVar
retorna um valor.
Por que o Chrome não aciona essas instruções quando chamadas pela Applescript quando podem ser feitas manualmente? (Chrome 51.0.2704.84, OS X 10.11.5)