DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

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

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
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.

Facebook Comments Box
  • Giovani Da Cruz
  • 11.045 views
  • 2 comentários
  • 10 de novembro de 2016

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

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