Delphi 7 + Webbrowser: erro

14/03/2018

0

Olá pessoal!
Conforme já pesquisei aqui no forum: "Se um site roda bem no IE, tem que rodar na aplicação utilizando o Webbrowser ". Mas abro a página diretamente pelo IE 11 e roda normal, mas pelo webbrowser aparecem erros de scripts e a página carrega mas roda errada:

erro1: "Function.prototype.apply: argumento é nulo ou não definido" ->plugins.js
erro2: "console não está definido" -> na functions.js
erro3: "Identificador, cadeia ou número esperado"

Pessoal, já incluí a opção webbrowser.Silent := True, as mensagens param mas a página roda errada.

Por favor alguma ajuda em como resolver isso?
Giovani
Giovani V

Giovani V

Responder

Posts

15/03/2018

Augusto Angelim

Tem dois caminhos para controlar o erro em páginas com script java!

1) O melhor método, funciona em todas as páginas com script java!
procedure TfrmWebBrowser.WebBrowserShowScriptError(ASender: TObject; const AErrorLine, AErrorCharacter, AErrorMessage, AErrorCode, AErrorUrl: OleVariant; var AOut: OleVariant; var AHandled: Boolean);
begin
// Pode colocar uma rotina de aviso erro aqui! Ex: "StatusBar1.Text := AErrorMessage;" ou ShowMessage('Erro: '+ AErroLine+ ' '+ AErrorMessage);
AHandled := TRUE; // DEFINE AQUI que o aplicativo irá controlar o erro em scripts!
end;

2) Funciona na maioria das páginas com script java
procedure TfrmWebBrowser.WebBrowser1NavigateError(ASender: TObject; const pDisp: IDispatch; const URL, Frame, StatusCode: OleVariant; var Cancel: WordBool);
begin
Cancel := TRUE;
end;

Qualquer coisa... avisa!
:) (Y)
Responder

16/03/2018

Tone Costa.

O problema é que o Delphi7 utiliza um versao antiga do IE para fazer o webBrowser. Tente o Chromium ou o proprio Mozzila... Ele tem um activeX que voce pode colocar para funcionar no Delphi7.
Responder

16/03/2018

Giovani V

Olá pessoal, valeu pelas dicas.
Angelin, você poderia me passar um exemplo:
hoje eu faço assim: webbrowser.navigate("www.google.com.br");
como seria com as procedures que você passou?
valeu
Responder

16/03/2018

Giovani V

Tem dois caminhos para controlar o erro em páginas com script java!

1) O melhor método, funciona em todas as páginas com script java!
procedure TfrmWebBrowser.WebBrowserShowScriptError(ASender: TObject; const AErrorLine, AErrorCharacter, AErrorMessage, AErrorCode, AErrorUrl: OleVariant; var AOut: OleVariant; var AHandled: Boolean);
begin
// Pode colocar uma rotina de aviso erro aqui! Ex: "StatusBar1.Text := AErrorMessage;" ou ShowMessage('Erro: '+ AErroLine+ ' '+ AErrorMessage);
AHandled := TRUE; // DEFINE AQUI que o aplicativo irá controlar o erro em scripts!
end;

2) Funciona na maioria das páginas com script java
procedure TfrmWebBrowser.WebBrowser1NavigateError(ASender: TObject; const pDisp: IDispatch; const URL, Frame, StatusCode: OleVariant; var Cancel: WordBool);
begin
Cancel := TRUE;
end;

Qualquer coisa... avisa!
:) (Y)



Angelim, você poderia me passar um exemplo:
hoje eu faço assim: webbrowser.navigate("www.google.com.br");
como seria com as procedures que você passou?
valeu
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar