Como fazer o Delphi executar uma função Javascript em um TwebBrowser

Meu exemplo é um resumo desta excelente explicação de Paul Johnson aqui.

Fazer isso é muito simples. Muito mais simples que o oposto, que é fazer o seu programa em Delphi responder a eventos que ocorrem no TwebBrowser.

Digamos que você tenha um componente TwebBrowser no seu projeto Delphi nomeado webbrowser1 que esteja carregado com uma página que tem a função javascript exibirGrafico(). Para chamar essa função você só precisa fazer algo assim:

Executar “ExecutaJS” no seu programa irá chamar a função “exibirGrafico()” carregada no documento HTML.

Note que a maior parte do que você vê acima é manipulação de erros. Se você não se preocupar com isso a procedure se resume a isto:

Só existe um inconveniente: você não pode receber o retorno da função. É possível contornar esse problema e o artigo de Paul explica como fazer, mas eu ainda não precisei dessa funcionalidade e por isso só vou abordar esse problema outro dia.

Note que o motivo número 1 para você se deparar com erros ao tentar executar o script é estar usando a configuração errada. O número 2 é esquecer que javascript é Case Sensitive. Isto é: exibirGrafico() e ExibirGrafico() são funções diferentes.

Como passar um parâmetro para a função.

Digamos que a função javascript exibirGrafico espere por um parâmetro texto que está no componente edit1. Você pode executá-la com algo assim:

 

This entry was posted in Informação. Bookmark the permalink.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *