6

TEmbeddedwb を実行していますが、その TEmbeddedwb をナビゲートしているときに JavaScript タイムアウト エラーが発生しました。

(Internet Explorer で実行している間はこのエラーは発生しません!)

ここに画像の説明を入力

ブラウザーは、スクリプトの実行を停止するかどうかを尋ねてきます。

TEmbeddedwb プロパティを

サイレント = 真

dialogBox.disableAll = true

しかし、私はまだこのポップアップが出てきています!

1) Internet Explorer でのナビゲーション中にエラーが発生しないのに、なぜこのエラーが発生するのですか (2 個でテスト済み)。

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.
4

1 に答える 1

5

TEmbeddedWBでJavaScriptエラーを処理する方法は?

OnScriptErrorイベントのハンドラーを作成し、出力パラメーターで使用可能なTScriptErrorAction値の1つを返します。ScriptErrorActionスクリプトエラーを無視して続行するには、次の例を使用します。

procedure TForm1.EmbeddedWB1ScriptError(Sender: TObject; ErrorLine,
  ErrorCharacter, ErrorCode, ErrorMessage, ErrorUrl: string;
  var ScriptErrorAction: TScriptErrorAction);
begin
  if ErrorCode = 123 then
    ScriptErrorAction := eaContinue;
end;
于 2013-03-07T17:25:33.883 に答える