



Ola pessoal, são muito interessantes os recursos que o delphi oferece
para interagir com páginas web.
Hoje vamos ver como executar funções javascript de uma página carregada
o TWebBrowser.
Primeiramente eis o código fonte da função:
Lembre!
Uses
MSHTML;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | procedure CallJavaScript_WB(WebBrowser: TWebBrowser; StrFun: String); var Doc: IHTMLDocument2; HTMLWindow: IHTMLWindow2; JSFn: string; begin Doc := WebBrowser.Document as IHTMLDocument2; if not Assigned(Doc) then Exit; HTMLWindow := Doc.parentWindow; if not Assigned(HTMLWindow) then Exit; try JSFn := StrFun; HTMLWindow.execScript(JSFn, 'JavaScript'); except ShowMessage('Erro na execução da função JavaScript'); end; end; |
Exemplo de uso
1 2 3 4 | procedure TForm1.Button2Click(Sender: TObject); begin CallJavaScript_WB(WebBrowser1, 'change_itab("news", "nt")'); end; |
Testei com alguns sites e funciona muito bem.
Nos testes utilizei o Delphi 10 seattle.
Fonte base: http://www.devmedia.com.br/forum/executar-uma-funccao-javascript-no-webbrowser/559943
Dúvidas ou sugestões, deixe nos comentários do post.
Você precisa fazer o login para publicar um comentário.
Boa tarde,
Trabalho com a versão do Delphi XE 10.1 Berlin, nesta versão o componente TWebBrowser não abre o site http://www.fazenda.rj.gov.br/projetoCISC/ sendo que na versão do Delphi XE2 o site abre perfeitamente.
Acredito que esse site seja aberto dentro de um frame por javascript.
Para abrir o site no TWebBrowser faço o seguinte:
Begin
WebBrowser.Navigate2(‘http://www.fazenda.rj.gov.br/projetoCISC/’);
end;
Ao executar esse site ele levanta uma exceção com erro de execução de script. Haveria uma outra forma de executar o script dessa página?
Obrigado
Danilo,
Vc conseguiu resolver o problema de acesso ao site “http://www.fazenda.rj.gov.br/projetoCISC” ?
Estou tendo um mesmo problema aqui