我正在运行TEmbeddedwb,我在导航TEmbeddedwb时遇到了javascript超时错误。
(在我的网络浏览器中运行时没有出现此错误!)
浏览器询问我是否要停止执行脚本。
我把TEmbeddedwb属性放到了
silent = true
dialogoBox.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.
答案 0 :(得分:5)
如何处理TEmbeddedWB中的JavaScript错误?
为OnScriptError
事件编写处理程序,并返回TScriptErrorAction
输出参数中的一个可用ScriptErrorAction
值。要忽略脚本错误并继续使用例如:
procedure TForm1.EmbeddedWB1ScriptError(Sender: TObject; ErrorLine,
ErrorCharacter, ErrorCode, ErrorMessage, ErrorUrl: string;
var ScriptErrorAction: TScriptErrorAction);
begin
if ErrorCode = 123 then
ScriptErrorAction := eaContinue;
end;