Como posso adicionar uma propriedade ao objeto de janela no Chrome usando o Applescript?


0

No Console JavaScript do Chrome, posso digitar o seguinte:

window.myVar = "myValue";

Eu posso acessar a myVarpartir 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 myVarpartir 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 myVarpermanecerá desativado.

Agora, no Safari, usar do JavaScriptesse mesmo código funciona como se eu tivesse digitado o código diretamente no console - myVarretorna 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)

Respostas:


1

Eu descobri uma solução alternativa. Pode não ser o melhor, mas a linha a seguir executa o JavaScript que tenho em mente ao definir as propriedades de window:

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

Usando isso, myVarretorna corretamente "myValue". Agradável.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.