Delphi 停止TWebBrowser脚本错误弹出窗口,但不要在ShowScriptError事件上停止

Delphi 停止TWebBrowser脚本错误弹出窗口,但不要在ShowScriptError事件上停止,delphi,twebbrowser,Delphi,Twebbrowser,脚本错误模式窗口可以在TWebBrowser中通过设置 Silent := True; 但它也禁止OnShowScriptError事件 我想用showscripterror收集脚本错误,但要停止错误模式窗口 你的评论就是我想要的解决方案!你可以把它贴出来作为答案 来,听听你的观点 不,你需要不同的行为。在下面的示例中: 1) 将出现web浏览器窗口中的消息框 2) 有关错误的信息将添加到TMemo组件中 用于测试的URL: 此页面上的Javascript代码: 你真正想要的是: (如何作为

脚本错误模式窗口可以在TWebBrowser中通过设置

Silent := True;
但它也禁止
OnShowScriptError
事件

我想用showscripterror收集脚本错误,但要停止错误模式窗口

你的评论就是我想要的解决方案!你可以把它贴出来作为答案 来,听听你的观点

不,你需要不同的行为。在下面的示例中: 1) 将出现web浏览器窗口中的消息框 2) 有关错误的信息将添加到
TMemo
组件中

用于测试的URL:

此页面上的Javascript代码:

你真正想要的是:
(如何作为WebBrowser控件主机处理脚本错误)

可能只需将
AHandled
参数设置为
True
,以指示您已处理此错误?@nil--这还不够。常规消息框
警报
仍可能出现在此窗口中case@Zam:没问题。它们应该出现,但不是诊断消息。@nil:您的评论就是我想要的解决方案!你可以把它作为答案贴在这里,然后得到你的观点。@Zam我不明白为什么我的评论会错,我的意思是你的答案基本上就是我建议的?
  <script type="text/javascript">
  alert("test1"); 
  var t = 100 / x0;
  </script>
procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.Navigate('http://1click.sdk.1click.lv/test.asp');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  WebBrowser1.Silent := False;
end;

procedure TForm1.WebBrowser1ShowScriptError(ASender: TObject;
  const [Ref] AErrorLine, AErrorCharacter, AErrorMessage, AErrorCode,
  AErrorUrl: OleVariant; var AOut: OleVariant; var AHandled: Boolean);
begin
  Memo1.Lines.Add(AErrorMessage);

  AHandled := True;
end;