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

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:

 

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">