delphi webbrowser:如何防止或隐藏那个javascript错误?

yar*_*rek 6 browser delphi webbrowser-control twebbrowser

我正在运行TEmbeddedwb,我在导航TEmbeddedwb时遇到了javascript超时错误.

(在我的Internet Explorer中运行时没有出现此错误!)

在此输入图像描述

浏览器询问我是否要停止执行脚本.

我把TEmbeddedwb属性放到了

silent = true

dialogoBox.disableAll = true

但我仍然有这个弹出窗口!

1)为什么我在Internet Explorer上导航时没有错误时出现此错误(在2pcs上测试)

2)如何禁用/隐藏此弹出窗口?

问候

    unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw_EWB, EwbCore, EmbeddedWB;

type
  TForm1 = class(TForm)
    iemain: TEmbeddedWB;
    procedure iemainScriptError(Sender: TObject; ErrorLine, ErrorCharacter,
      ErrorCode, ErrorMessage, ErrorUrl: String;
      var ScriptErrorAction: TScriptErrorAction);
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.iemainScriptError(Sender: TObject; ErrorLine,
  ErrorCharacter, ErrorCode, ErrorMessage, ErrorUrl: String;
  var ScriptErrorAction: TScriptErrorAction);
begin
       MessageDlg('hello', mtWarning, [mbOK], 0);
       if ErrorCode='123' then    ScriptErrorAction := eaContinue;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    iemain.Navigate('http://www.expedia.fr/Hotels');
end;

end.
Run Code Online (Sandbox Code Playgroud)

TLa*_*ama 5

如何处理TEmbeddedWB中的JavaScript错误?

OnScriptError事件编写处理程序并返回output参数TScriptErrorAction中的一个可用值ScriptErrorAction.要忽略脚本错误并继续使用,例如:

procedure TForm1.EmbeddedWB1ScriptError(Sender: TObject; ErrorLine,
  ErrorCharacter, ErrorCode, ErrorMessage, ErrorUrl: string;
  var ScriptErrorAction: TScriptErrorAction);
begin
  if ErrorCode = 123 then
    ScriptErrorAction := eaContinue;
end;
Run Code Online (Sandbox Code Playgroud)

  • 我刚刚添加了该事件,并在 EmbeddedWB1ScriptError 中放置了一个断点,但它永远不会出现在那里!它直接显示错误,并且根本不调用 EmbeddedWB1ScriptError ! (2认同)