delphi - 停止 TWebBrowser 脚本错误弹出窗口,但不停止 OnShowScriptError 事件

标签 delphi twebbrowser

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

Silent := True;

但它也禁止 OnShowScriptError 事件。

我想使用 OnShowScriptError 收集脚本错误,但停止错误模态窗口。

最佳答案

Your comment is the solution I want to! You could post it as an answer here and get your points.

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

测试网址:http://1click.sdk.1click.lv/test.asp

此页面上的 JavaScript 代码:

  <script type="text/javascript">
  alert("test1"); 
  var t = 100 / x0;
  </script>

恢复:用户将看到警报(“测试”),但看不到有关错误的信息。

还有什么重要的?您应该在 Internet Explorer 中启用脚本调试,否则将丢失所有信息。

enter image description here

德尔福示例:

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;

enter image description here

你真正想要的是: http://web.archive.org/web/20150329085438/http://support.microsoft.com/en-us/kb/261003 (作为WebBrowser控件主机如何处理脚本错误)

关于delphi - 停止 TWebBrowser 脚本错误弹出窗口,但不停止 OnShowScriptError 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54110263/

相关文章:

delphi - 使用 TEmbeddedWB 或 TWebBrowser 检测外部内容

delphi - 如何检测 TWebBrowser 何时完成页面下载?

delphi - Python4Delphi:在函数中返回 python 对象。 (德尔福包装器)

delphi - 如何一次删除 TClientDataset 中的所有记录?

delphi - Delphi和SAPI

delphi - TWebBrowser-试图修复“无效的浮点运算”错误

delphi - 如何编译DUnit2

delphi - Delphi-为初学者使用dll

运行时的 TWebBrowser 和 FEATURE_BROWSER_EMULATION

delphi - 如何在TWebbrowser中获取JS脚本控制台输出?