2013-03-07 2 views
6

私はTEmbeddedwbを実行していて、そのTEmbeddedwb上をナビゲートしているときにJavaScriptタイムアウトエラーが発生しました。私は、スクリプトの実行を停止する場合delphi webbrowser:javascriptエラーを防ぐか、隠すには?

(私のInternet Explorerで実行している間、私はこのエラーを持っていない!)

enter image description here

ブラウザが私に尋ねます。

私は

サイレント= trueを

dialogoBox.disableAll =真

しかし、私はまだこのポップアップが出て来ているにTEmbeddedwbのpropertioesを入れて!インターネットエクスプローラ上

2をナビゲートしながら、エラーがないながら

1)なぜ私は隠す/このポップアップを無効にする方法)(2個でテスト)このエラーを持っているのですか?

に関してTEmbeddedWBでJavaScriptのエラーを処理する方法

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. 
+0

あなたの最初の質問に答えるために、あなたがに移動しているページへのリンクを提供する必要があります。 – TLama

+0

それで 'MessageDlg'が見えますか? – kobik

+0

私は再現できません。ページは「https:// ....」にリダイレクトされ、非セキュアに配信されたコンテンツを表示するかどうかを尋ねます。私がイエスかどうかにかかわらず、ページは表示され、期待どおりに応答します。私はあなたがどんな設定を「正常」とは異なるものにしているのかについての詳細を与える必要があると思います。 –

答えて

5

OnScriptErrorイベントのハンドラを記述し、ScriptErrorAction出力パラメータで利用可能なTScriptErrorAction値のいずれかを返します。スクリプトエラーを無視して、例えば、使用を継続するには:

procedure TForm1.EmbeddedWB1ScriptError(Sender: TObject; ErrorLine, 
    ErrorCharacter, ErrorCode, ErrorMessage, ErrorUrl: string; 
    var ScriptErrorAction: TScriptErrorAction); 
begin 
    if ErrorCode = 123 then 
    ScriptErrorAction := eaContinue; 
end; 
+0

+1、私はブラウザが実際にスクリプトの実行を停止するかどうか疑問に思っています。 – kobik

+1

私はちょうどそのイベントを追加し、EmbeddedWB1ScriptErrorに壊れ目を入れて、そこに行くことはありません! これはエラーを直接表示し、EmbeddedWB1ScriptErrorはまったく呼び出されません! – yarek

関連する問題