dicas show delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais
sombra
Artigos Show Delphi

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais
sombra
iniciantes show delphi

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais
sombra
downloads show delphi

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
sombra
voltar

PARA QUEM GOSTA DE DELPHI

Como executar uma função javascript no webbrowser

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.

  • Giovani Da Cruz
  • 2 comentários
  • 10 de novembro de 2016

2 respostas para “Como executar uma função javascript no webbrowser”

  1. Danilo disse:

    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

  2. Thiago disse:

    Danilo,

    Vc conseguiu resolver o problema de acesso ao site “http://www.fazenda.rj.gov.br/projetoCISC” ?

    Estou tendo um mesmo problema aqui

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados